From: David Henningsson Date: Fri, 28 Mar 2014 10:59:09 +0000 (+0100) Subject: module-switch-on-port-available: Don't switch profiles on uninitialized cards X-Git-Url: https://code.delx.au/pulseaudio/commitdiff_plain/ef4a41e8b0ef81a53769d853dbc7679b25252327?ds=sidebyside module-switch-on-port-available: Don't switch profiles on uninitialized cards This could cause the HDMI port to become the default on some systems where analog output was available. BugLink: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1256511 BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=73375 Signed-off-by: David Henningsson --- diff --git a/src/modules/module-switch-on-port-available.c b/src/modules/module-switch-on-port-available.c index 2c7ad17f..c560306b 100644 --- a/src/modules/module-switch-on-port-available.c +++ b/src/modules/module-switch-on-port-available.c @@ -173,6 +173,11 @@ static pa_hook_result_t port_available_hook_callback(pa_core *c, pa_device_port return PA_HOOK_OK; } + if (pa_idxset_size(card->sinks) == 0 && pa_idxset_size(card->sources) == 0) + /* This card is not initialized yet. We'll handle it in + sink_new / source_new callbacks later. */ + return PA_HOOK_OK; + find_sink_and_source(card, port, &sink, &source); is_active_profile = card->active_profile == pa_hashmap_get(port->profiles, card->active_profile->name);