diff options
author | Max Kellermann <max@duempel.org> | 2010-03-03 20:29:33 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2010-03-10 19:49:31 +0100 |
commit | e686d19154d8de8f9884cd768ef5e600991076ef (patch) | |
tree | 655e0cfc3577f98d20082ffe61f66aa7f81a55f7 /src/output_all.c | |
parent | 762565e9d11b19534cff2d74715af0645f3885d8 (diff) | |
download | mpd-e686d19154d8de8f9884cd768ef5e600991076ef.tar.gz mpd-e686d19154d8de8f9884cd768ef5e600991076ef.tar.xz mpd-e686d19154d8de8f9884cd768ef5e600991076ef.zip |
output: added option "always_on" for radio stations
Did you ever accidently click "stop" while feeding a radio station?
This option sets the output device to "pause" to disable the "close"
method. It falls back to "pause" then, which is specific to the
plugin. Some plugins implement it by feeding silence.
Diffstat (limited to '')
-rw-r--r-- | src/output_all.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/output_all.c b/src/output_all.c index 4b7701144..dbd5a6ce6 100644 --- a/src/output_all.c +++ b/src/output_all.c @@ -559,6 +559,29 @@ audio_output_all_close(void) } void +audio_output_all_release(void) +{ + unsigned int i; + + for (i = 0; i < num_audio_outputs; ++i) + audio_output_release(&audio_outputs[i]); + + if (g_mp != NULL) { + assert(g_music_buffer != NULL); + + music_pipe_clear(g_mp, g_music_buffer); + music_pipe_free(g_mp); + g_mp = NULL; + } + + g_music_buffer = NULL; + + audio_format_clear(&input_audio_format); + + audio_output_all_elapsed_time = -1.0; +} + +void audio_output_all_song_border(void) { /* clear the elapsed_time pointer at the beginning of a new |