close audio device on pause

git-svn-id: https://svn.musicpd.org/mpd/trunk@329 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes
2004-03-20 19:47:05 +00:00
parent 115b0d06cd
commit 6436b0ac8a
4 changed files with 24 additions and 22 deletions

View File

@@ -180,8 +180,19 @@ void decodeSeek(PlayerControl * pc, AudioFormat * af, DecoderControl * dc,
} \
if(pc->pause) { \
pause = !pause; \
if(pause) pc->state = PLAYER_STATE_PAUSE; \
else pc->state = PLAYER_STATE_PLAY; \
if(pause) { \
finishAudio(); \
pc->state = PLAYER_STATE_PAUSE; \
} \
else { \
if(initAudio(NULL)<0) { \
strncpy(pc->erroredFile,pc->file,MAXPATHLEN); \
pc->error = PLAYER_ERROR_AUDIO; \
quitDecode(pc,dc); \
return; \
} \
pc->state = PLAYER_STATE_PLAY; \
} \
pc->pause = 0; \
kill(getppid(),SIGUSR1); \
} \
@@ -296,7 +307,6 @@ void decode() {
{
/* PARENT */
char silence[CHUNK_SIZE];
int pause = 0;
int quit = 0;
int bbp = buffered_before_play;
@@ -306,8 +316,6 @@ void decode() {
int nextChunk = -1;
int test;
memset(silence,0,CHUNK_SIZE);
if(waitOnDecode(pc,af,dc,cb)<0) return;
pc->state = PLAYER_STATE_PLAY;
@@ -348,9 +356,7 @@ void decode() {
}
else doCrossFade = -1;
}
if(pause) {
if(playAudio(silence,CHUNK_SIZE)<0) quit = 1;
}
if(pause) usleep(10000);
else if((cb->begin!=cb->end || cb->wrap) &&
cb->begin!=cb->next)
{