[pulseaudio-discuss] [PATCH v3 6/8] module-switch-on-port-available: Use input and output names

David Henningsson david.henningsson at canonical.com
Tue Nov 17 06:10:34 PST 2015


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



More information about the pulseaudio-discuss mailing list