]> git.sesse.net Git - vlc/commitdiff
udev ALSA: don't be reliant on device node path, use kernel path
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 13 Feb 2010 20:37:37 +0000 (22:37 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 13 Feb 2010 20:54:13 +0000 (22:54 +0200)
modules/services_discovery/udev.c

index 7168684b4ceec29dfa7c015cf23534811dec0e9c..c65c771e85a3c526a84d68a8e1b0b651232886c3 100644 (file)
@@ -439,12 +439,13 @@ int OpenV4L (vlc_object_t *obj)
 static int alsa_get_device (struct udev_device *dev, unsigned *restrict pcard,
                             unsigned *restrict pdevice)
 {
-    const char *node = udev_device_get_devnode (dev);
+    const char *node = udev_device_get_devpath (dev);
     char type;
 
+    node = strrchr (node, '/');
     if (node == NULL)
         return -1;
-    if (sscanf (node, "/dev/snd/pcmC%uD%u%c", pcard, pdevice, &type) < 3)
+    if (sscanf (node, "/pcmC%uD%u%c", pcard, pdevice, &type) < 3)
         return -1;
     if (type != 'c')
         return -1;