summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/musicpd/files/0002-output-PipeWire-skip-Cancel-if-already-drained.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-multimedia/musicpd/files/0002-output-PipeWire-skip-Cancel-if-already-drained.patch')
-rw-r--r--recipes-multimedia/musicpd/files/0002-output-PipeWire-skip-Cancel-if-already-drained.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/recipes-multimedia/musicpd/files/0002-output-PipeWire-skip-Cancel-if-already-drained.patch b/recipes-multimedia/musicpd/files/0002-output-PipeWire-skip-Cancel-if-already-drained.patch
new file mode 100644
index 00000000..a01a04a0
--- /dev/null
+++ b/recipes-multimedia/musicpd/files/0002-output-PipeWire-skip-Cancel-if-already-drained.patch
@@ -0,0 +1,26 @@
+From 493677ff81e708133f87e15157c5dd5131adad48 Mon Sep 17 00:00:00 2001
+From: Max Kellermann <max.kellermann@gmail.com>
+Date: Sat, 9 Jul 2022 00:53:52 +0200
+Subject: [PATCH] output/PipeWire: skip Cancel() if already drained
+
+Upstream-Status: Backport [https://github.com/MusicPlayerDaemon/MPD/commit/493677ff81e708133f87e15157c5dd5131adad48]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+---
+diff --git a/src/output/plugins/PipeWireOutputPlugin.cxx b/src/output/plugins/PipeWireOutputPlugin.cxx
+index ccdf5c0e4..7184edfa5 100644
+--- a/src/output/plugins/PipeWireOutputPlugin.cxx
++++ b/src/output/plugins/PipeWireOutputPlugin.cxx
+@@ -892,6 +892,9 @@ PipeWireOutput::Cancel() noexcept
+ const PipeWire::ThreadLoopLock lock(thread_loop);
+ interrupted = false;
+
++ if (drained)
++ return;
++
+ ring_buffer->reset();
+ }
+
+--
+2.39.0
+