aboutsummaryrefslogtreecommitdiffstats
path: root/src/player_thread.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-08-26 08:27:16 +0200
committerMax Kellermann <max@duempel.org>2008-08-26 08:27:16 +0200
commit92d9797b8cb5b51cdb1cb7f40b12a87ad91eac2e (patch)
tree7a5c5c7d171771631be14c7ab3a39185cda72cd3 /src/player_thread.c
parentcff923b9d824773ca5446d72f3c6a54245580d87 (diff)
downloadmpd-92d9797b8cb5b51cdb1cb7f40b12a87ad91eac2e.tar.gz
mpd-92d9797b8cb5b51cdb1cb7f40b12a87ad91eac2e.tar.xz
mpd-92d9797b8cb5b51cdb1cb7f40b12a87ad91eac2e.zip
player: don't call STOP before CLOSE_AUDIO
playerWait() stops the player thread (twice!) and closes the output device. It should be well enough to just send CLOSE_AUDIO, without STOP. This requires a tiny change to the player thread code: make it break when CLOSE_AUDIO is sent.
Diffstat (limited to 'src/player_thread.c')
-rw-r--r--src/player_thread.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/player_thread.c b/src/player_thread.c
index 62badab96..3784445e9 100644
--- a/src/player_thread.c
+++ b/src/player_thread.c
@@ -224,7 +224,8 @@ static void decodeParent(void)
while (1) {
processDecodeInput(&do_pause, &bbp, &do_xfade,
&decodeWaitedOn, &next);
- if (pc.command == PLAYER_COMMAND_STOP) {
+ if (pc.command == PLAYER_COMMAND_STOP ||
+ pc.command == PLAYER_COMMAND_CLOSE_AUDIO) {
dropBufferedAudio();
break;
}