[pulseaudio-discuss] [RFC PATCH 4/4] switch-on-connect: Do not ignore HDMI sinks
João Paulo Rechi Vita
jprvita at gmail.com
Wed Aug 8 05:00:52 UTC 2018
HDMI ports are normally present on cards connected to an internal bus,
and module-switch-on-connect should switch to them when a HDMI monitor
is plugged.
This is specially relevant on setups where the HDMI port of a machine is
connected to a different audio card then the analog outputs, which is
the case for machines with AMD graphics cards.
---
src/modules/module-switch-on-connect.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/modules/module-switch-on-connect.c b/src/modules/module-switch-on-connect.c
index ebdd6aad0..9077eaec4 100644
--- a/src/modules/module-switch-on-connect.c
+++ b/src/modules/module-switch-on-connect.c
@@ -70,11 +70,14 @@ static pa_hook_result_t sink_put_hook_callback(pa_core *c, pa_sink *sink, void*
pa_log_debug("Trying to switch to new sink %s", sink->name);
- /* Don't switch to any internal devices */
- s = pa_proplist_gets(sink->proplist, PA_PROP_DEVICE_BUS);
- if (pa_safe_streq(s, "pci") || pa_safe_streq(s, "isa")) {
- pa_log_debug("Refusing to switch to sink on %s bus", s);
- return PA_HOOK_OK;
+ /* Don't switch to any internal devices except HDMI */
+ s = pa_proplist_gets(sink->proplist, PA_PROP_DEVICE_STRING);
+ if (s && !pa_startswith(s, "hdmi")) {
+ s = pa_proplist_gets(sink->proplist, PA_PROP_DEVICE_BUS);
+ if (pa_safe_streq(s, "pci") || pa_safe_streq(s, "isa")) {
+ pa_log_debug("Refusing to switch to sink on %s bus", s);
+ return PA_HOOK_OK;
+ }
}
/* Ignore virtual sinks if not configured otherwise on the command line */
--
2.18.0
More information about the pulseaudio-discuss
mailing list