[pulseaudio-commits] [Git][pulseaudio/pulseaudio][marge_bot_batch_merge_job] 3 commits: sink: Reduce chat sink priority

PulseAudio Marge Bot gitlab at gitlab.freedesktop.org
Thu Dec 10 16:37:49 UTC 2020



PulseAudio Marge Bot pushed to branch marge_bot_batch_merge_job at PulseAudio / pulseaudio


Commits:
57de3e9b by Tanu Kaskinen at 2020-12-10T16:37:42+00:00
sink: Reduce chat sink priority

Some gaming sound cards have custom profiles with analog-game and
analog-chat mappings that exist simultaneously. The game sink should
have higher priority than the chat sink, but currently there's no way to
affect the sink priorities from the profile-set configuration (the
mapping priority is not propagated to the sink priority).

I first thought about adding the mapping priority to the sink priority,
but that could mess up the prioritization system in
pa_device_init_priority(). I ended up checking for the intended roles
property to reduce the chat sink priority. I also reduced the iec958
priority so that the chat and iec958 sinks don't end up with the same
priority.

Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/818

- - - - -
fbc96078 by Mattias Jernberg at 2020-12-10T16:37:44+00:00
alsa-mixer: Enable volume control of SteelSeries Arctis stereo output

Since there is now support for specifying the index of an Element, add the
same config as is used for the output-mono variant, as they behave the same:
One volume control with no support for adjustments to the left and right
channels.

- - - - -
2b1cc1d0 by Hui Wang at 2020-12-10T16:37:46+00:00
alsa-mixer: disable the Auto-Mute once the system has speaker

With the Auto-Mute enabled, if the headphone jack is plugged, the
alsa hda driver will mute the speaker and set pinctl of the speaker
to Hi-Z state, after this happens, even the pulseaudio unmute the
speaker, the speaker still couldn't output sound because the pinctl
is in Hi-Z state.

We found this issue on a Dell machine which has multi-function audio
jack, after the headphone is plugged in, the speaker's availability is
still unknown, users could select speaker from gnome-sound-setting,
but even the speaker is selected to be the active device, it couldn't
output sound.

The Auto-Mute is not useful if the pulseaudio is running since pa
could mute/unmute devices according to active port change, the ucm
for sof+hda already disabled the Auto-Mute, let us disable it for
hda audio if the machine has the internal speaker.

Signed-off-by: Hui Wang <hui.wang at canonical.com>

- - - - -


3 changed files:

- src/modules/alsa/mixer/paths/analog-output-speaker.conf
- src/modules/alsa/mixer/paths/usb-gaming-headset-output-stereo.conf
- src/pulsecore/sink.c


Changes:

=====================================
src/modules/alsa/mixer/paths/analog-output-speaker.conf
=====================================
@@ -88,6 +88,13 @@ override-map.2 = all-left,all-right
 switch = off
 volume = off
 
+; Make sure the internal speakers are not auto-muted once the system has speakers
+[Element Auto-Mute Mode]
+enumeration = select
+
+[Option Auto-Mute Mode:Disabled]
+name = analog-output-speaker
+
 ; This profile path is intended to control the speaker, let's mute headphones
 ; else there will be a spike when plugging in headphones
 [Element Headphone]


=====================================
src/modules/alsa/mixer/paths/usb-gaming-headset-output-stereo.conf
=====================================
@@ -23,10 +23,12 @@
 ; Steelseries Arctis 7
 ; Steelseries Arctis Pro Wireless.
 ; Lucidsound LS31
-;
-; This path doesn't provide hardware volume control, because the stereo
-; output is controlled by the PCM element with index 1, and currently
-; PulseAudio only supports elements with index 0.
 
 [General]
 description-key = analog-output-headphones
+
+[Element PCM,1]
+volume = merge
+switch = mute
+override-map.1 = all
+override-map.2 = all-left,all-right


=====================================
src/pulsecore/sink.c
=====================================
@@ -3609,10 +3609,18 @@ unsigned pa_device_init_priority(pa_proplist *p) {
 
     if ((s = pa_proplist_gets(p, PA_PROP_DEVICE_PROFILE_NAME))) {
 
-        if (pa_startswith(s, "analog-"))
+        if (pa_startswith(s, "analog-")) {
             priority += 9;
+
+            /* If an analog device has an intended role of "phone", it probably
+             * co-exists with another device that is meant for everything else,
+             * and that other device should have higher priority than the phone
+             * device. */
+            if (pa_str_in_list_spaces(pa_proplist_gets(p, PA_PROP_DEVICE_INTENDED_ROLES), "phone"))
+                priority -= 1;
+        }
         else if (pa_startswith(s, "iec958-"))
-            priority += 8;
+            priority += 7;
     }
 
     return priority;



View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/compare/3afb7f8c08ab6ce8e47075f7484f470c8c561a11...2b1cc1d00733eaa9b4c8470dca816472a504462d

-- 
View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/compare/3afb7f8c08ab6ce8e47075f7484f470c8c561a11...2b1cc1d00733eaa9b4c8470dca816472a504462d
You're receiving this email because of your account on gitlab.freedesktop.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-commits/attachments/20201210/67cf15ca/attachment-0001.htm>


More information about the pulseaudio-commits mailing list