mpd: Backport PipeWire output fixes
[AGL/meta-agl-demo.git] / recipes-multimedia / musicpd / files / 0002-output-PipeWire-skip-Cancel-if-already-drained.patch
1 From 493677ff81e708133f87e15157c5dd5131adad48 Mon Sep 17 00:00:00 2001
2 From: Max Kellermann <max.kellermann@gmail.com>
3 Date: Sat, 9 Jul 2022 00:53:52 +0200
4 Subject: [PATCH] output/PipeWire: skip Cancel() if already drained
5
6 Upstream-Status: Backport [https://github.com/MusicPlayerDaemon/MPD/commit/493677ff81e708133f87e15157c5dd5131adad48]
7 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
8
9 ---
10 diff --git a/src/output/plugins/PipeWireOutputPlugin.cxx b/src/output/plugins/PipeWireOutputPlugin.cxx
11 index ccdf5c0e4..7184edfa5 100644
12 --- a/src/output/plugins/PipeWireOutputPlugin.cxx
13 +++ b/src/output/plugins/PipeWireOutputPlugin.cxx
14 @@ -892,6 +892,9 @@ PipeWireOutput::Cancel() noexcept
15         const PipeWire::ThreadLoopLock lock(thread_loop);
16         interrupted = false;
17  
18 +       if (drained)
19 +               return;
20 +
21         ring_buffer->reset();
22  }
23  
24 -- 
25 2.39.0
26