[pulseaudio-discuss] [PATCH 2/4] always-sink: Ignore filter sinks

arun at accosted.net arun at accosted.net
Tue Jun 9 00:08:44 PDT 2015


From: Arun Raghavan <git at arunraghavan.net>

We don't want to count filter sinks towards the list of actual sinks,
since those also need a real underlying sink to exist.
---
 src/modules/module-always-sink.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/modules/module-always-sink.c b/src/modules/module-always-sink.c
index d2edf12..a5f6bb3 100644
--- a/src/modules/module-always-sink.c
+++ b/src/modules/module-always-sink.c
@@ -61,12 +61,15 @@ static void load_null_sink_if_needed(pa_core *c, pa_sink *sink, struct userdata*
 
     pa_assert(c);
     pa_assert(u);
-    pa_assert(u->null_module == PA_INVALID_INDEX);
+
+    if (u->null_module != PA_INVALID_INDEX)
+        return; /* We've already got a null-sink loaded */
 
     /* Loop through all sinks and check to see if we have *any*
-     * sinks. Ignore the sink passed in (if it's not null) */
+     * sinks. Ignore the sink passed in (if it's not null), and
+     * don't count filter sinks. */
     PA_IDXSET_FOREACH(target, c->sinks, idx)
-        if (!sink || target != sink)
+        if (!sink || ((target != sink) && !pa_sink_is_filter(target)))
             break;
 
     if (target)
-- 
2.4.2



More information about the pulseaudio-discuss mailing list