switch-on-connect: Do not ignore HDMI sinks

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.
This commit is contained in:
João Paulo Rechi Vita 2018-08-07 22:00:52 -07:00 committed by Tanu Kaskinen
parent 3454c19f3c
commit bae8c16bfa

View File

@ -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 */