[pulseaudio-discuss] [PATCH v0 07/20] Consider unknown availability in module-switch-on-port-available
Mikel Astiz
mikel.astiz.oss at gmail.com
Wed Aug 22 05:27:56 PDT 2012
Hi David,
On Wed, Aug 22, 2012 at 11:13 AM, David Henningsson
<david.henningsson at canonical.com> wrote:
> On 08/22/2012 10:08 AM, Mikel Astiz wrote:
>>
>> From: Mikel Astiz <mikel.astiz at bmw-carit.de>
>>
>> A port with the availability state flag set to unknown should not be
>> considered an active port.
>> ---
>> src/modules/module-switch-on-port-available.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/src/modules/module-switch-on-port-available.c
>> b/src/modules/module-switch-on-port-available.c
>> index 1da612d..8c16821 100644
>> --- a/src/modules/module-switch-on-port-available.c
>> +++ b/src/modules/module-switch-on-port-available.c
>> @@ -85,7 +85,7 @@ static pa_bool_t try_to_switch_profile(pa_card *card,
>> pa_device_port *port) {
>> PA_IDXSET_FOREACH(sink, card->sinks, state2) {
>> if (!sink->active_port)
>> continue;
>> - if (sink->active_port->available != PA_PORT_AVAILABLE_NO)
>> + if (sink->active_port->available ==
>> PA_PORT_AVAILABLE_YES)
>> found_active_port = TRUE;
>> }
>>
>>
>
> I think this will break the following use case (on a normal laptop) :
>
> Assume we plug in HDMI. With this patch we will get inconsistent behaviour:
> if headphones are plugged in (available = yes), we won't switch to HDMI, but
> if not (speakers are available = unknown), we will switch to HDMI.
After the interesting discussion in IRC, I see two options:
(a) module-switch-on-port-available is modified such that the HDMI
case is treated explicitly, given that this check is there
specifically for HDMI. It would be a policy like
"do-not-switch-to-hdmi-from-analog", based on some property provided
by the port (is_hdmi=1 or similar). A side benefit here would be that
input and output ports would be treated identically.
(b) Forget about the integration of module-switch-on-port-available
and Bluetooth-HFGW. Similar policies could be integrated in
module-bluetooth-policy. And after all, the integration with
module-switch-on-port-available is difficult anyway (see workaround in
patch v0 19/20).
Cheers,
Mikel
More information about the pulseaudio-discuss
mailing list