aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_control.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-08-15 21:18:38 +0200
committerMax Kellermann <max@duempel.org>2009-08-15 21:18:38 +0200
commitf401c1059c78358b701dbee22ca78035c6e652eb (patch)
tree5cf487eea76b70b91e6acee8f55b6ca135b45a4a /src/output_control.c
parente28a0e97b5d2e54684c6452d6d45f64ff1e542d9 (diff)
parent5715534b530cfed0d6650b0fb34cfcb17da4088b (diff)
downloadmpd-f401c1059c78358b701dbee22ca78035c6e652eb.tar.gz
mpd-f401c1059c78358b701dbee22ca78035c6e652eb.tar.xz
mpd-f401c1059c78358b701dbee22ca78035c6e652eb.zip
Merged release 0.15.2 from branch 'v0.15.x'
Conflicts: NEWS configure.ac
Diffstat (limited to 'src/output_control.c')
-rw-r--r--src/output_control.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/output_control.c b/src/output_control.c
index 70c6d2b1a..ef77bf4fa 100644
--- a/src/output_control.c
+++ b/src/output_control.c
@@ -77,6 +77,17 @@ audio_output_open(struct audio_output *ao,
audio_format_equals(audio_format, &ao->in_audio_format)) {
assert(ao->pipe == mp);
+ if (ao->pause) {
+ /* unpause with the CANCEL command; this is a
+ hack, but suits well for forcing the thread
+ to leave the ao_pause() thread, and we need
+ to flush the device buffer anyway */
+
+ /* we're not using audio_output_cancel() here,
+ because that function is asynchronous */
+ ao_command(ao, AO_COMMAND_CANCEL);
+ }
+
return true;
}