From aaf0f5bd6e29c86dd5b96f2185bedc520d745ad4 Mon Sep 17 00:00:00 2001 From: Arun Raghavan Date: Wed, 23 Nov 2011 16:46:12 +0530 Subject: [PATCH] filters: Fix the master source/sink when autoloaded When autoloaded, it is expected that module-filter-apply (or whatever is loading us) will take care of applying the filter on the correct sink/source master. Instead of adding complexity by tracking what is currently being filtered, we just disallow filtering anything except the original master sink/source and let module-filter-apply or whatever is loading us deal with dynamic sink/source changes. --- src/modules/echo-cancel/module-echo-cancel.c | 4 ++-- src/modules/module-equalizer-sink.c | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/modules/echo-cancel/module-echo-cancel.c b/src/modules/echo-cancel/module-echo-cancel.c index b810a4e..64e17bf 100644 --- a/src/modules/echo-cancel/module-echo-cancel.c +++ b/src/modules/echo-cancel/module-echo-cancel.c @@ -1399,7 +1399,7 @@ static pa_bool_t source_output_may_move_to_cb(pa_source_output *o, pa_source *de pa_assert_ctl_context(); pa_assert_se(u = o->userdata); - if (u->dead) + if (u->dead || u->autoloaded) return FALSE; return (u->source != dest) && (u->sink != dest->monitor_of); @@ -1412,7 +1412,7 @@ static pa_bool_t sink_input_may_move_to_cb(pa_sink_input *i, pa_sink *dest) { pa_sink_input_assert_ref(i); pa_assert_se(u = i->userdata); - if (u->dead) + if (u->dead || u->autoloaded) return FALSE; return u->sink != dest; diff --git a/src/modules/module-equalizer-sink.c b/src/modules/module-equalizer-sink.c index e83a41d..006b3d1 100644 --- a/src/modules/module-equalizer-sink.c +++ b/src/modules/module-equalizer-sink.c @@ -1055,6 +1055,9 @@ static pa_bool_t sink_input_may_move_to_cb(pa_sink_input *i, pa_sink *dest) { pa_sink_input_assert_ref(i); pa_assert_se(u = i->userdata); + if (u->autoloaded) + return FALSE; + return u->sink != dest; } -- 2.7.4