diff options
author | Max Kellermann <max@duempel.org> | 2009-11-02 19:09:25 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-11-02 19:09:25 +0100 |
commit | b9013944dc80c70533aaaa0d5a446500a49e0607 (patch) | |
tree | e30a133db1a7e718afb2c58a46de824706daa627 /src/output_control.c | |
parent | e814f8d5bd0f701710fd44cf3743f00226ad67f0 (diff) | |
download | mpd-b9013944dc80c70533aaaa0d5a446500a49e0607.tar.gz mpd-b9013944dc80c70533aaaa0d5a446500a49e0607.tar.xz mpd-b9013944dc80c70533aaaa0d5a446500a49e0607.zip |
output: signal the output thread when CANCEL is finished
After CANCEL, the output thread waits for another signal before it
continues playback, to synchronize with the caller. There were some
situations where this signal wasn't sent properly. This patch adds an
explicit g_cond_signal() at two code positions.
Diffstat (limited to 'src/output_control.c')
-rw-r--r-- | src/output_control.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/output_control.c b/src/output_control.c index c54ce4f92..842b89030 100644 --- a/src/output_control.c +++ b/src/output_control.c @@ -128,6 +128,10 @@ audio_output_open(struct audio_output *ao, /* we're not using audio_output_cancel() here, because that function is asynchronous */ ao_command(ao, AO_COMMAND_CANCEL); + + /* the audio output is now waiting for a + signal; wake it up immediately */ + g_cond_signal(ao->cond); } return true; |