In case input or output names are filled in, we can use this to get a better match in the profile_good_for_input/output functions instead of guessing based on number of sources and channels. Signed-off-by: David Henningsson <david.henningsson at canonical.com> --- src/modules/module-switch-on-port-available.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/modules/module-switch-on-port-available.c b/src/modules/module-switch-on-port-available.c index eb8f2d7..8de68a3 100644 --- a/src/modules/module-switch-on-port-available.c +++ b/src/modules/module-switch-on-port-available.c @@ -23,6 +23,7 @@ #endif #include <pulsecore/core.h> +#include <pulsecore/core-util.h> #include <pulsecore/device-port.h> #include <pulsecore/hashmap.h> @@ -34,6 +35,9 @@ static bool profile_good_for_output(pa_card_profile *profile) { pa_assert(profile); + if (!pa_safe_streq(profile->card->active_profile->input_name, profile->input_name)) + return false; + if (profile->card->active_profile->n_sources != profile->n_sources) return false; @@ -55,6 +59,9 @@ static bool profile_good_for_output(pa_card_profile *profile) { static bool profile_good_for_input(pa_card_profile *profile) { pa_assert(profile); + if (!pa_safe_streq(profile->card->active_profile->output_name, profile->output_name)) + return false; + if (profile->card->active_profile->n_sinks != profile->n_sinks) return false; -- 1.9.1