aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_all.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2010-03-03 20:29:33 +0100
committerMax Kellermann <max@duempel.org>2010-03-10 19:49:31 +0100
commite686d19154d8de8f9884cd768ef5e600991076ef (patch)
tree655e0cfc3577f98d20082ffe61f66aa7f81a55f7 /src/output_all.c
parent762565e9d11b19534cff2d74715af0645f3885d8 (diff)
downloadmpd-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 'src/output_all.c')
-rw-r--r--src/output_all.c23
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