audio_output: added method pause()

pause() puts the audio output into pause mode: if supported, it may
perform a special action, which keeps the device open, but does not
play anything.  Output plugins like "shout" might want to play silence
during pause, so their clients won't be disconnected.  Plugins which
do not support pausing will simply be closed, and have to be reopened
when unpaused.

This pach includes an implementation for the shout plugin, which
sends silence chunks.
This commit is contained in:
Max Kellermann
2008-09-29 16:43:55 +02:00
parent c13e8b5146
commit 6e21e24cae
9 changed files with 73 additions and 2 deletions

View File

@@ -143,7 +143,7 @@ static void processDecodeInput(int *pause_r, unsigned int *bbp_r,
*pause_r = 1;
} else if (*pause_r) {
dropBufferedAudio();
closeAudioDevice();
audio_output_pause_all();
}
break;