mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-01 22:58:47 -04: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 Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/266>
This commit is contained in:
parent
3afb7f8c08
commit
6b04e2a89e
1 changed files with 10 additions and 2 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue