[PATCH 2/2] device-manager: don't override application routing requests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



module-device-manager doesn't change the routing of those streams that
have been explicitly routed by the user, which is good. Similarly, it
should leave those streams alone whose routing was decided by the
application that created the stream. This patch implements that.

BugLink: https://github.com/wwmm/pulseeffects/issues/99
---
 src/modules/module-device-manager.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/modules/module-device-manager.c b/src/modules/module-device-manager.c
index 5d04bb667..c2f11d9bb 100644
--- a/src/modules/module-device-manager.c
+++ b/src/modules/module-device-manager.c
@@ -658,7 +658,8 @@ static void route_sink_input(struct userdata *u, pa_sink_input *si) {
     pa_assert(u);
     pa_assert(u->do_routing);
 
-    if (si->save_sink)
+    /* Don't override user or application routing requests. */
+    if (si->save_sink || si->sink_requested_by_application)
         return;
 
     /* Skip this if it is already in the process of being moved anyway */
@@ -729,7 +730,8 @@ static void route_source_output(struct userdata *u, pa_source_output *so) {
     pa_assert(u);
     pa_assert(u->do_routing);
 
-    if (so->save_source)
+    /* Don't override user or application routing requests. */
+    if (so->save_source || so->source_requested_by_application)
         return;
 
     if (so->direct_on_input)
-- 
2.14.2



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux