From: Arun Raghavan <git@xxxxxxxxxxxxxxxx> 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