diff options
Diffstat (limited to 'apps/playback.c')
-rw-r--r-- | apps/playback.c | 7 |
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()) |