In case there are two independent jacks for one port (e.g. Dock
Headphone Jack and Headphone Jack), the availability ends up being
incorrect for one of the first was _NO (not plugged) and the second gets
_YES (plugged). Also pulse complains about the state being inconsistent
which isn't true.
Fix this by preferring higher states (_YES > _NO > _UNKNOWN)
---
src/modules/alsa/module-alsa-card.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/src/modules/alsa/module-alsa-card.c
b/src/modules/alsa/module-alsa-card.c
index ed332e0..0026e0f 100644
--- a/src/modules/alsa/module-alsa-card.c
+++ b/src/modules/alsa/module-alsa-card.c
@@ -335,14 +335,8 @@ static void report_port_state(pa_device_port *p, struct
userdata *u) {
cpa = jack->plugged_in ? jack->state_plugged : jack->state_unplugged;
- /* "Yes" and "no" trumphs "unknown" if we have more than one jack */
- if (cpa == PA_AVAILABLE_UNKNOWN)
- continue;
-
- if ((cpa == PA_AVAILABLE_NO && pa == PA_AVAILABLE_YES) ||
- (pa == PA_AVAILABLE_NO && cpa == PA_AVAILABLE_YES))
- pa_log_warn("Availability of port '%s' is inconsistent!", p->name);
- else
+ /* Prefer going towards _YES in case of multiple jacks */
+ if (cpa > pa)
pa = cpa;
}
--
2.1.1
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss