summaryrefslogtreecommitdiff
path: root/apps/playback.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playback.c')
-rw-r--r--apps/playback.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/apps/playback.c b/apps/playback.c
index 0cda680c0b..1a51bd2c41 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -2616,6 +2616,13 @@ static void audio_fill_file_buffer(bool start_play, size_t offset)
start_play = false;
offset = 0;
sleep(1);
+ if (!queue_empty(&audio_queue)) {
+ /* There's a message in the queue. break the loop to treat it,
+ and go back to filling after that. */
+ LOGFQUEUE("buffering > audio Q_AUDIO_FILL_BUFFER");
+ queue_post(&audio_queue, Q_AUDIO_FILL_BUFFER, 0);
+ break;
+ }
} while (continue_buffering);
if (!had_next_track && audio_next_track())