vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Wed Oct 21 
20:30:49 2015 +0300| [1d92fdf3e259b0f8d482b4a5534022cdc71fea16] | committer: 
Rémi Denis-Courmont

alsa: insert default choice if not in ALSA device hints

This ensures that the default value ("default") for alsa-audio-device
is listed as a possible choice.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1d92fdf3e259b0f8d482b4a5534022cdc71fea16
---

 modules/audio_output/alsa.c |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/modules/audio_output/alsa.c b/modules/audio_output/alsa.c
index 7e71d3e..42c1d75 100644
--- a/modules/audio_output/alsa.c
+++ b/modules/audio_output/alsa.c
@@ -709,6 +709,7 @@ static int EnumDevices(vlc_object_t *obj, char const 
*varname,
 
     char **ids = NULL, **names = NULL;
     unsigned n = 0;
+    bool hinted_default = false;
 
     for (size_t i = 0; hints[i] != NULL; i++)
     {
@@ -729,9 +730,22 @@ static int EnumDevices(vlc_object_t *obj, char const 
*varname,
         ids[n] = name;
         names[n] = desc;
         n++;
+
+        if (!strcmp(name, "default"))
+            hinted_default = true;
     }
 
     snd_device_name_free_hint(hints);
+
+    if (!hinted_default)
+    {
+        ids = xrealloc (ids, (n + 1) * sizeof (*ids));
+        names = xrealloc (names, (n + 1) * sizeof (*names));
+        ids[n] = xstrdup ("default");
+        names[n] = _("Default");
+        n++;
+    }
+
     *idp = ids;
     *namep = names;
     (void) varname;

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to