aboutsummaryrefslogtreecommitdiffstats
path: root/src/player_thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/player_thread.c')
-rw-r--r--src/player_thread.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/player_thread.c b/src/player_thread.c
index 39eb3a385..4ea23020d 100644
--- a/src/player_thread.c
+++ b/src/player_thread.c
@@ -549,6 +549,12 @@ play_next_chunk(struct player *player)
if (!success) {
music_buffer_return(player_buffer, chunk);
+
+ /* pause: the user may resume playback as soon as an
+ audio output becomes available */
+ pc.state = PLAYER_STATE_PAUSE;
+ player->paused = true;
+
return false;
}
@@ -708,8 +714,7 @@ static void do_play(void)
/* at least one music chunk is ready - send it
to the audio output */
- if (!play_next_chunk(&player))
- break;
+ play_next_chunk(&player);
} else if (audio_output_all_check() > 0) {
/* not enough data from decoder, but the
output thread is still busy, so it's