aboutsummaryrefslogtreecommitdiffstats
path: root/src/decode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/decode.c')
-rw-r--r--src/decode.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/decode.c b/src/decode.c
index 551f40caa..dff876296 100644
--- a/src/decode.c
+++ b/src/decode.c
@@ -70,6 +70,14 @@ static void dc_command(enum decoder_command cmd)
dc_command_wait();
}
+void dc_command_finished(void)
+{
+ assert(dc.command != DECODE_COMMAND_NONE);
+
+ dc.command = DECODE_COMMAND_NONE;
+ decoder_wakeup_player();
+}
+
static void stopDecode(void)
{
if (dc.command == DECODE_COMMAND_START ||
@@ -346,8 +354,7 @@ static void * decoder_task(mpd_unused void *arg)
dc.command == DECODE_COMMAND_SEEK) {
decodeStart();
} else if (dc.command == DECODE_COMMAND_STOP) {
- dc.command = DECODE_COMMAND_NONE;
- decoder_wakeup_player();
+ dc_command_finished();
} else {
decoder_sleep();
}