aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/player_thread.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/player_thread.c b/src/player_thread.c
index add093083..7fc55d3d1 100644
--- a/src/player_thread.c
+++ b/src/player_thread.c
@@ -730,7 +730,11 @@ static void do_play(void)
if (!player_song_border(&player))
break;
} else if (decoder_is_idle()) {
- break;
+ /* check the size of the pipe again, because
+ the decoder thread may have added something
+ since we last checked */
+ if (music_pipe_size(player.pipe) == 0)
+ break;
} else {
/* the decoder is too busy and hasn't provided
new PCM data in time: send silence (if the