[pulseaudio-discuss] [PATCH] sink: don't sync monitor suspend state when unlinking

Tanu Kaskinen tanuk at iki.fi
Thu Feb 22 08:06:59 UTC 2018


When the sink is unlinked, there's no need to update the monitor suspend
state. In fact, trying to do that causes an assertion failure, because
pa_source_sync_suspend() wasn't written to handle the case where the
sink is unlinked.
---
 src/pulsecore/sink.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
index 0dfc91c87..f19e8b09e 100644
--- a/src/pulsecore/sink.c
+++ b/src/pulsecore/sink.c
@@ -481,7 +481,7 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state, pa_suspend_cause_t
     }
 
 finish:
-    if ((suspending || resuming || suspend_cause_changed) && s->monitor_source)
+    if ((suspending || resuming || suspend_cause_changed) && s->monitor_source && state != PA_SINK_UNLINKED)
         pa_source_sync_suspend(s->monitor_source);
 
     return ret;
-- 
2.15.1



More information about the pulseaudio-discuss mailing list