diff options
author | Thomas Weißschuh <thomas@t-8ch.de> | 2022-03-31 22:47:33 +0200 |
---|---|---|
committer | Philip Langdale <github.philipl@overt.org> | 2022-03-31 14:40:21 -0700 |
commit | deedc3d418f03222d8b7cb64de51fc383ca356f1 (patch) | |
tree | e41632271dbfc3ceb77d511f7ea393c57bc2f2d3 /audio | |
parent | 84dc9b1a02db896b972928d39ef6d621483afb3b (diff) | |
download | mpv-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.c | 4 |
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; |