switch-on-connect: Don't switch to a monitor source
authorDavid Henningsson <david.henningsson@canonical.com>
Wed, 24 Aug 2011 12:01:00 +0000 (14:01 +0200)
committerArun Raghavan <arun.raghavan@collabora.co.uk>
Wed, 24 Aug 2011 12:08:05 +0000 (17:38 +0530)
Buglink: http://bugs.launchpad.net/bugs/831675
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
src/modules/module-switch-on-connect.c

index b121fd9..b1570b1 100644 (file)
@@ -29,6 +29,7 @@
 #include <pulsecore/core.h>
 #include <pulsecore/sink-input.h>
 #include <pulsecore/source-output.h>
+#include <pulsecore/source.h>
 #include <pulsecore/modargs.h>
 #include <pulsecore/log.h>
 #include <pulsecore/namereg.h>
@@ -113,6 +114,10 @@ static pa_hook_result_t source_put_hook_callback(pa_core *c, pa_source *source,
     if (c->state != PA_CORE_RUNNING)
         return PA_HOOK_OK;
 
+    /* Don't switch to a monitoring source */
+    if (source->monitor_of)
+        return PA_HOOK_OK;
+
     /* Don't switch to any internal devices */
     if ((s = pa_proplist_gets(source->proplist, PA_PROP_DEVICE_BUS))) {
         if (pa_streq(s, "pci"))