diff options
author | Max Kellermann <max@duempel.org> | 2009-03-26 23:40:50 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-03-26 23:40:50 +0100 |
commit | 207786ffb1d6eba4f40daf981dbeb45745459425 (patch) | |
tree | b46d7358d7a349a73ee292e231fd320ccf1047ad /src/output_thread.c | |
parent | ed4837662ad0ff969024cea1c906d5c9f245d8b6 (diff) | |
download | mpd-207786ffb1d6eba4f40daf981dbeb45745459425.tar.gz mpd-207786ffb1d6eba4f40daf981dbeb45745459425.tar.xz mpd-207786ffb1d6eba4f40daf981dbeb45745459425.zip |
output_all: synchronize playback with player_control.notify
This patch fixes a longer delay when moving around songs in the
playlist. The main thread wants to enqueue a new "next" song into the
player thread, but the player thread is waiting inside
audio_output_all_wait() for the output threads. Use
player_control.notify there, so audio_output_all_wait() gets woken up
by the main thread, too.
Diffstat (limited to 'src/output_thread.c')
-rw-r--r-- | src/output_thread.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/output_thread.c b/src/output_thread.c index b545a62be..acedd863e 100644 --- a/src/output_thread.c +++ b/src/output_thread.c @@ -22,6 +22,7 @@ #include "output_internal.h" #include "chunk.h" #include "pipe.h" +#include "player_control.h" #include <glib.h> @@ -156,7 +157,7 @@ static void ao_play(struct audio_output *ao) ao->chunk_finished = true; g_mutex_unlock(ao->mutex); - notify_signal(&audio_output_client_notify); + notify_signal(&pc.notify); } static void ao_pause(struct audio_output *ao) |