]> code.delx.au - pulseaudio/commitdiff
alsa,core: include mapping name in description strings
authorLennart Poettering <lennart@poettering.net>
Thu, 18 Jun 2009 02:38:59 +0000 (04:38 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 18 Jun 2009 02:38:59 +0000 (04:38 +0200)
src/modules/alsa/alsa-util.c
src/pulsecore/sink.c

index 0204c28b8e60994cde83d523de09fd18f4274df4..0ed4361c58dafd1e191c588f6c8dc21a4b808e30 100644 (file)
@@ -752,21 +752,24 @@ void pa_alsa_redirect_errors_dec(void) {
 }
 
 pa_bool_t pa_alsa_init_description(pa_proplist *p) {
-    const char *s;
+    const char *d, *k;
     pa_assert(p);
 
     if (pa_device_init_description(p))
         return TRUE;
 
-    if ((s = pa_proplist_gets(p, "alsa.card_name"))) {
-        pa_proplist_sets(p, PA_PROP_DEVICE_DESCRIPTION, s);
-        return TRUE;
-    }
+    if (!(d = pa_proplist_gets(p, "alsa.card_name")))
+        d = pa_proplist_gets(p, "alsa.name");
 
-    if ((s = pa_proplist_gets(p, "alsa.name"))) {
-        pa_proplist_sets(p, PA_PROP_DEVICE_DESCRIPTION, s);
-        return TRUE;
-    }
+    if (!d)
+        return FALSE;
+
+    k = pa_proplist_gets(p, PA_PROP_DEVICE_PROFILE_DESCRIPTION);
+
+    if (d && k)
+        pa_proplist_setf(p, PA_PROP_DEVICE_DESCRIPTION, _("%s %s"), d, k);
+    else if (d)
+        pa_proplist_sets(p, PA_PROP_DEVICE_DESCRIPTION, d);
 
     return FALSE;
 }
index 7e4513e7d9951bf90fd981ef9f3c81d1d36e5ac5..d8f3c7d172cfaa85568432010ecf1f0cfefc059b 100644 (file)
@@ -2384,30 +2384,35 @@ pa_bool_t pa_device_init_icon(pa_proplist *p, pa_bool_t is_sink) {
 }
 
 pa_bool_t pa_device_init_description(pa_proplist *p) {
-    const char *s;
+    const char *s, *d = NULL, *k;
     pa_assert(p);
 
     if (pa_proplist_contains(p, PA_PROP_DEVICE_DESCRIPTION))
         return TRUE;
 
     if ((s = pa_proplist_gets(p, PA_PROP_DEVICE_FORM_FACTOR)))
-        if (pa_streq(s, "internal")) {
-            pa_proplist_sets(p, PA_PROP_DEVICE_DESCRIPTION, _("Internal Audio"));
-            return TRUE;
-        }
+        if (pa_streq(s, "internal"))
+            d = _("Internal Audio");
 
-    if ((s = pa_proplist_gets(p, PA_PROP_DEVICE_CLASS)))
-        if (pa_streq(s, "modem")) {
-            pa_proplist_sets(p, PA_PROP_DEVICE_DESCRIPTION, _("Modem"));
-            return TRUE;
-        }
+    if (!d)
+        if ((s = pa_proplist_gets(p, PA_PROP_DEVICE_CLASS)))
+            if (pa_streq(s, "modem"))
+                d = _("Modem");
 
-    if ((s = pa_proplist_gets(p, PA_PROP_DEVICE_PRODUCT_NAME))) {
-        pa_proplist_sets(p, PA_PROP_DEVICE_DESCRIPTION, s);
-        return TRUE;
-    }
+    if (!d)
+        d = pa_proplist_gets(p, PA_PROP_DEVICE_PRODUCT_NAME);
 
-    return FALSE;
+    if (!d)
+        return FALSE;
+
+    k = pa_proplist_gets(p, PA_PROP_DEVICE_PROFILE_DESCRIPTION);
+
+    if (d && k)
+        pa_proplist_setf(p, PA_PROP_DEVICE_DESCRIPTION, _("%s %s"), d, k);
+    else if (d)
+        pa_proplist_sets(p, PA_PROP_DEVICE_DESCRIPTION, d);
+
+    return TRUE;
 }
 
 pa_bool_t pa_device_init_intended_roles(pa_proplist *p) {