aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_thread.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-07-20 21:46:05 +0200
committerMax Kellermann <max@duempel.org>2011-07-20 21:46:05 +0200
commit0ea4c970d794d535ae6efb4d0ae2d3fe37980ae3 (patch)
treed08d18c852febad9d6da94dfbe31545dcf93b5d0 /src/output_thread.c
parent57936a13741c09fa54a33a53ed05ac0d996e4807 (diff)
parent838f7cd210dbd3f071d48d54c168c123c3d20c58 (diff)
downloadmpd-0ea4c970d794d535ae6efb4d0ae2d3fe37980ae3.tar.gz
mpd-0ea4c970d794d535ae6efb4d0ae2d3fe37980ae3.tar.xz
mpd-0ea4c970d794d535ae6efb4d0ae2d3fe37980ae3.zip
Merge branch 'v0.16.x'
Conflicts: src/player_thread.c src/playlist_control.c
Diffstat (limited to 'src/output_thread.c')
-rw-r--r--src/output_thread.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/output_thread.c b/src/output_thread.c
index 21096eb04..ec5fc5b31 100644
--- a/src/output_thread.c
+++ b/src/output_thread.c
@@ -641,8 +641,13 @@ static gpointer audio_output_task(gpointer arg)
case AO_COMMAND_CANCEL:
ao->chunk = NULL;
- if (ao->open)
+
+ if (ao->open) {
+ g_mutex_unlock(ao->mutex);
ao_plugin_cancel(ao->plugin, ao->data);
+ g_mutex_lock(ao->mutex);
+ }
+
ao_command_finished(ao);
/* the player thread will now clear our music