changeset 3145:0aaad77951c7 trunk

Treating cdda:// as a regular file is bad, hmmkay? This is just a hack and nenolod will improve on it later.
author Tony Vroon <chainsaw@gentoo.org>
date Mon, 23 Jul 2007 01:01:43 +0100
parents 2812140dba3f
children f8a449aa8a6f
files src/audacious/input.c
diffstat 1 files changed, 21 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/audacious/input.c	Sun Jul 22 14:16:19 2007 +0300
+++ b/src/audacious/input.c	Mon Jul 23 01:01:43 2007 +0100
@@ -371,6 +371,27 @@
     if (tmp != NULL && g_ascii_isdigit(*(tmp + 1)))
         *tmp = '\0';
 
+    /* CD-Audio uses cdda:// dummy paths, no filedescriptor handling for it */
+    if (!g_strncasecmp(filename, "cdda://", 7)) {
+        for (node = get_input_list(); node != NULL; node = g_list_next(node))
+        {
+            ip = INPUT_PLUGIN(node->data);
+            if (!ip || !input_is_enabled(ip->filename))
+                continue;
+            if (ip->is_our_file != NULL)
+                ret = ip->is_our_file(filename_proxy);
+            if (ret > 0)
+            {
+                g_free(filename_proxy);
+                pr = g_new0(ProbeResult, 1);
+                pr->ip = ip;
+                return pr;
+            }
+        }
+        g_free(filename_proxy);
+        return NULL;
+    }
+
     fd = vfs_buffered_file_new_from_uri(tmp_uri);
     g_free(tmp_uri);