summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor V. Kovalenko <igor.v.kovalenko@gmail.com>2022-11-27 19:39:23 +0300
committerIgor V. Kovalenko <igor.v.kovalenko@gmail.com>2022-11-27 22:47:30 +0300
commit0cbbc408aee2b5f2c42280d24dc615405387b5b1 (patch)
tree3d9c09ce10ed97d8dfe14fd2353d9b14b3b29562
parent37c72c20720d6f7fefeeb151f5e10c2cd0dda30e (diff)
downloadpulseaudio-0cbbc408aee2b5f2c42280d24dc615405387b5b1.tar.gz
module-combine-sink: Suspend while unloading to fix crash moving sinks
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/756>
-rw-r--r--src/modules/module-combine-sink.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/modules/module-combine-sink.c b/src/modules/module-combine-sink.c
index 4b7690183..2ccd9eb13 100644
--- a/src/modules/module-combine-sink.c
+++ b/src/modules/module-combine-sink.c
@@ -1733,6 +1733,9 @@ void pa__done(pa_module*m) {
if (!(u = m->userdata))
return;
+ if (u->sink && PA_SINK_IS_LINKED(u->sink->state))
+ pa_sink_suspend(u->sink, true, PA_SUSPEND_UNAVAILABLE);
+
pa_strlist_free(u->unlinked_slaves);
if (u->sink_put_slot)