30.01.2016 00:33, David Henningsson wrote:
If you have headphones plugged in and plug in HDMI; you want sound
to stay on headphones.
If you have HDMI plugged in and you plug in headphones; you want sound
to switch to headphones.
Hence we need to take priority into account as well when determining
whether to switch to a new profile or not.
- if (sink->active_port->available != PA_AVAILABLE_NO)
+ if ((sink->active_port->available != PA_AVAILABLE_NO) &&
(sink->active_port->priority >= prio))
You are comparing profile priority and port priority here. Profile
priority might include contributions from other ports (inputs or maybe
other outputs) and thus (theoretically) prevent switching in some valid
cases. In practice, for ALSA cards and "official" profiles (none of
which produce multiple outputs), this doesn't matter.
So, if you want this in, please test this patch with a manually
uncommented
output:analog-stereo+output:iec958-stereo+input:analog-stereo profile
and maybe some other artificial profile. I'd rather not do this for you,
because this test involves stating what the correct behavior would be,
and you are in a better position for such statements.
Alternatively, if nobody among developers tests profiles with two output
paths on a regular basis, it may be a good idea to drop them, in which
case the patch gets an ACK from me.
--
Alexander E. Patrakov
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss