summaryrefslogtreecommitdiff
path: root/media-sound/pulseaudio-daemon/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-11-29 13:20:26 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-11-29 13:20:26 +0000
commit82020bf7ff936f52f6f1efc646ae374e46b5ed36 (patch)
tree1b1d0c4ea3c8e8d77a6066d8ac29c51cececd1a9 /media-sound/pulseaudio-daemon/files
parent0bdb5244708888dfc364e30b08facc0a45281f78 (diff)
gentoo auto-resync : 29:11:2022 - 13:20:25
Diffstat (limited to 'media-sound/pulseaudio-daemon/files')
-rw-r--r--media-sound/pulseaudio-daemon/files/pulseaudio-16.1-module-combine-sink-load-crash.patch26
-rw-r--r--media-sound/pulseaudio-daemon/files/pulseaudio-16.1-module-combine-sink-unload-crash.patch22
2 files changed, 48 insertions, 0 deletions
diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-module-combine-sink-load-crash.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-module-combine-sink-load-crash.patch
new file mode 100644
index 000000000000..d02c1029f8b0
--- /dev/null
+++ b/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-module-combine-sink-load-crash.patch
@@ -0,0 +1,26 @@
+commit 37c72c20720d6f7fefeeb151f5e10c2cd0dda30e
+Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
+Date: Sun Nov 27 22:30:45 2022 +0300
+
+ module-combine-sink: Do not set up rate adjustment timer at load time
+
+ Rate adjustment timer is set up when combine sink is resumed and relased when
+ combine sink is suspended. Do not create this timer again while module is loaded
+ to prevent duplicate effort causing assertion in time_callback.
+
+ 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 f98f4820b..4b7690183 100644
+--- a/src/modules/module-combine-sink.c
++++ b/src/modules/module-combine-sink.c
+@@ -1711,9 +1711,6 @@ int pa__init(pa_module*m) {
+ PA_IDXSET_FOREACH(o, u->outputs, idx)
+ output_verify(o);
+
+- if (u->adjust_time > 0)
+- u->time_event = pa_core_rttime_new(m->core, pa_rtclock_now() + u->adjust_time, time_callback, u);
+-
+ pa_modargs_free(ma);
+
+ return 0;
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)