src/modules/alsa/alsa-mixer.c                    |    1 +
 src/modules/alsa/mixer/profile-sets/default.conf |   18 ++++++++++--------
 2 files changed, 11 insertions(+), 8 deletions(-)

New commits:
commit 51aa5c646ed7648b9db1febc0a04c37d13368522
Author: Tanu Kaskinen <ta...@iki.fi>
Date:   Fri Jun 1 11:24:01 2018 +0300

    alsa-mixer: make the mono mapping a fallback only
    
    If a sound card doesn't have the "front" device defined for it, we have
    to use the "hw" device for stereo. Not so long ago, the analog-stereo
    mapping had "hw:%f" in its device-strings and everything worked great,
    except that it caused trouble with the Intel HDMI LPE driver that uses
    the first "hw" device for HDMI, and we were incorrectly detecting it as
    an analog device. That problem was fixed in commit ea3ebd09, which
    removed "hw:%f" from analog-stereo and added a new stereo fallback
    mapping for "hw".
    
    Now the problem is that if a sound card doesn't have the "front" device
    defined for it, and it supports both mono and stereo, only the mono
    mapping is used, because the stereo mapping is only a fallback. This
    patch makes the mono mapping a fallback too, so the mono mapping is used
    only if there's absolutely nothing else that works.
    
    This can cause trouble at least in theory. Maybe someone actually wants
    to use mono output on a card that supports both mono and stereo. But
    that seems quite unlikely.

diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
index b8c2bc72..460a8847 100644
--- a/src/modules/alsa/alsa-mixer.c
+++ b/src/modules/alsa/alsa-mixer.c
@@ -3992,6 +3992,7 @@ static int mapping_verify(pa_alsa_mapping *m, const 
pa_channel_map *bonus) {
     static const struct description_map well_known_descriptions[] = {
         { "analog-mono",            N_("Analog Mono") },
         { "analog-stereo",          N_("Analog Stereo") },
+        { "mono-fallback",          N_("Mono") },
         { "stereo-fallback",        N_("Stereo") },
         /* Note: Not translated to "Analog Stereo Input", because the source
          * name gets "Input" appended to it automatically, so adding "Input"
diff --git a/src/modules/alsa/mixer/profile-sets/default.conf 
b/src/modules/alsa/mixer/profile-sets/default.conf
index f5093830..34c51bc5 100644
--- a/src/modules/alsa/mixer/profile-sets/default.conf
+++ b/src/modules/alsa/mixer/profile-sets/default.conf
@@ -101,13 +101,6 @@
 [General]
 auto-profiles = yes
 
-[Mapping analog-mono]
-device-strings = hw:%f
-channel-map = mono
-paths-output = analog-output analog-output-lineout analog-output-speaker 
analog-output-headphones analog-output-headphones-2 analog-output-mono
-paths-input = analog-input-front-mic analog-input-rear-mic 
analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic 
analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner 
analog-input-fm analog-input-mic-line analog-input-headset-mic
-priority = 7
-
 [Mapping analog-stereo]
 device-strings = front:%f
 channel-map = left,right
@@ -115,7 +108,7 @@ paths-output = analog-output analog-output-lineout 
analog-output-speaker analog-
 paths-input = analog-input-front-mic analog-input-rear-mic 
analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic 
analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner 
analog-input-fm analog-input-mic-line analog-input-headphone-mic 
analog-input-headset-mic
 priority = 15
 
-# If everything else fails, try to use hw:0 as a stereo device.
+# If everything else fails, try to use hw:0 as a stereo device...
 [Mapping stereo-fallback]
 device-strings = hw:%f
 fallback = yes
@@ -124,6 +117,15 @@ paths-output = analog-output analog-output-lineout 
analog-output-speaker analog-
 paths-input = analog-input-front-mic analog-input-rear-mic 
analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic 
analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner 
analog-input-fm analog-input-mic-line analog-input-headphone-mic 
analog-input-headset-mic
 priority = 1
 
+# ...and if even that fails, try to use hw:0 as a mono device.
+[Mapping mono-fallback]
+device-strings = hw:%f
+fallback = yes
+channel-map = mono
+paths-output = analog-output analog-output-lineout analog-output-speaker 
analog-output-headphones analog-output-headphones-2 analog-output-mono
+paths-input = analog-input-front-mic analog-input-rear-mic 
analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic 
analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner 
analog-input-fm analog-input-mic-line analog-input-headset-mic
+priority = 1
+
 [Mapping analog-surround-21]
 device-strings = surround21:%f
 channel-map = front-left,front-right,lfe

_______________________________________________
pulseaudio-commits mailing list
pulseaudio-commits@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-commits

Reply via email to