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 <[email protected]> - - - - - 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.
_______________________________________________ pulseaudio-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/pulseaudio-commits
