summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Henningsson <david.henningsson@canonical.com>2015-11-17 15:10:34 +0100
committerTanu Kaskinen <tanuk@iki.fi>2015-11-22 04:59:29 +0200
commit063a1d350fad1cb6fac28dbffe26a7e805626cb2 (patch)
tree382f1f5144235753317e363840ef1e1c387d20f0
parent9059fb3b4ed7ade607846f4846842c2b1ce699fa (diff)
module-switch-on-port-available: Use input and output names
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@canonical.com>
-rw-r--r--src/modules/module-switch-on-port-available.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/modules/module-switch-on-port-available.c b/src/modules/module-switch-on-port-available.c
index eb8f2d7bb..8de68a3ec 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;