summaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authorThomas Weißschuh <thomas@t-8ch.de>2022-03-31 22:47:33 +0200
committerPhilip Langdale <github.philipl@overt.org>2022-03-31 14:40:21 -0700
commitdeedc3d418f03222d8b7cb64de51fc383ca356f1 (patch)
treee41632271dbfc3ceb77d511f7ea393c57bc2f2d3 /audio
parent84dc9b1a02db896b972928d39ef6d621483afb3b (diff)
downloadmpv-deedc3d418f03222d8b7cb64de51fc383ca356f1.tar.bz2
mpv-deedc3d418f03222d8b7cb64de51fc383ca356f1.tar.xz
ao_pipewire: Do not hold thread lock during loop stop
Stopping the thread is done using pw_thread_loop_stop(), *which must be called without the lock held.* Fixes #10033
Diffstat (limited to 'audio')
-rw-r--r--audio/out/ao_pipewire.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/audio/out/ao_pipewire.c b/audio/out/ao_pipewire.c
index 8cd778b0c9..5925a0d413 100644
--- a/audio/out/ao_pipewire.c
+++ b/audio/out/ao_pipewire.c
@@ -230,10 +230,8 @@ static const struct pw_stream_events stream_events = {
static void uninit(struct ao *ao)
{
struct priv *p = ao->priv;
- if (p->loop) {
- pw_thread_loop_lock(p->loop);
+ if (p->loop)
pw_thread_loop_stop(p->loop);
- }
if (p->stream)
pw_stream_destroy(p->stream);
p->stream = NULL;