aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder_control.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/decoder_control.c')
-rw-r--r--src/decoder_control.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/decoder_control.c b/src/decoder_control.c
index 10f576c5c..9844b6918 100644
--- a/src/decoder_control.c
+++ b/src/decoder_control.c
@@ -44,10 +44,8 @@ dc_deinit(struct decoder_control *dc)
static void
dc_command_wait_locked(struct decoder_control *dc)
{
- while (dc->command != DECODE_COMMAND_NONE) {
- decoder_signal(dc);
+ while (dc->command != DECODE_COMMAND_NONE)
player_wait_decoder(dc);
- }
}
void
@@ -62,6 +60,7 @@ static void
dc_command_locked(struct decoder_control *dc, enum decoder_command cmd)
{
dc->command = cmd;
+ decoder_signal(dc);
dc_command_wait_locked(dc);
}