aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder_control.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2010-11-05 17:42:08 +0100
committerMax Kellermann <max@duempel.org>2010-11-05 19:18:44 +0100
commitcc261872c25be3a5792be8ae160e070d1bbedf0b (patch)
tree6261d4dc29ad8c8e7b189585c4d0583f1727b664 /src/decoder_control.c
parent5223261f1907a642ebe741518b7981830c094924 (diff)
downloadmpd-cc261872c25be3a5792be8ae160e070d1bbedf0b.tar.gz
mpd-cc261872c25be3a5792be8ae160e070d1bbedf0b.tar.xz
mpd-cc261872c25be3a5792be8ae160e070d1bbedf0b.zip
decoder_control: pass music_pipe to dc_start()
More abstraction for decoder_control.pipe.
Diffstat (limited to 'src/decoder_control.c')
-rw-r--r--src/decoder_control.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/decoder_control.c b/src/decoder_control.c
index 44bb63e15..618c78e7e 100644
--- a/src/decoder_control.c
+++ b/src/decoder_control.c
@@ -18,6 +18,7 @@
*/
#include "decoder_control.h"
+#include "pipe.h"
#include <assert.h>
@@ -58,22 +59,28 @@ static void dc_command_async(enum decoder_command cmd)
}
void
-dc_start(struct notify *notify, struct song *song)
+dc_start(struct notify *notify, struct song *song, struct music_pipe *pipe)
{
- assert(dc.pipe != NULL);
+ assert(dc.pipe == NULL);
assert(song != NULL);
+ assert(pipe != NULL);
+ assert(music_pipe_empty(pipe));
dc.next_song = song;
+ dc.pipe = pipe;
dc_command(notify, DECODE_COMMAND_START);
}
void
-dc_start_async(struct song *song)
+dc_start_async(struct song *song, struct music_pipe *pipe)
{
- assert(dc.pipe != NULL);
+ assert(dc.pipe == NULL);
assert(song != NULL);
+ assert(pipe != NULL);
+ assert(music_pipe_empty(pipe));
dc.next_song = song;
+ dc.pipe = pipe;
dc_command_async(DECODE_COMMAND_START);
}