From: RĂ©mi Denis-Courmont Date: Sat, 13 Feb 2010 20:53:59 +0000 (+0200) Subject: udev ALSA: use vendor name if available X-Git-Tag: 1.1.0-ff~87 X-Git-Url: https://git.sesse.net/?p=vlc;a=commitdiff_plain;h=369166ac27a2b9164c26ad75d9f7208afb478bd5 udev ALSA: use vendor name if available --- diff --git a/modules/services_discovery/udev.c b/modules/services_discovery/udev.c index 79fff9fc10..2e3cb8338e 100644 --- a/modules/services_discovery/udev.c +++ b/modules/services_discovery/udev.c @@ -490,15 +490,17 @@ static char *alsa_get_name (struct udev_device *dev) static char *alsa_get_cat (struct udev_device *dev) { - char *name; - unsigned card, device; + const char *vnd; - if (alsa_get_device (dev, &card, &device)) + dev = udev_device_get_parent (dev); + if (dev == NULL) return NULL; - if (asprintf (&name, _("Card %u"), card) == -1) - name = NULL; - return name; + vnd = udev_device_get_property_value (dev, "ID_VENDOR_FROM_DATABASE"); + if (vnd == NULL) + /* FIXME: USB may take time to settle... the parent device */ + vnd = udev_device_get_property_value (dev, "ID_BUS"); + return vnd ? strdup (vnd) : NULL; } int OpenALSA (vlc_object_t *obj)