diff options
Diffstat (limited to 'media-sound/pulseaudio-daemon/files/pulseaudio-16.1-module-combine-sink-unload-crash.patch')
-rw-r--r-- | media-sound/pulseaudio-daemon/files/pulseaudio-16.1-module-combine-sink-unload-crash.patch | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-module-combine-sink-unload-crash.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-module-combine-sink-unload-crash.patch new file mode 100644 index 000000000000..f0cd82dde16e --- /dev/null +++ b/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-module-combine-sink-unload-crash.patch @@ -0,0 +1,22 @@ +commit 0cbbc408aee2b5f2c42280d24dc615405387b5b1 +Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> +Date: Sun Nov 27 19:39:23 2022 +0300 + + module-combine-sink: Suspend while unloading to fix crash moving sinks + + Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/756> + +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) |