Index: apps/playback.c =================================================================== --- apps/playback.c (revision 16454) +++ apps/playback.c (working copy) @@ -222,10 +222,6 @@ static struct track_info *prev_ti = NULL; /* Pointer to the previously played track */ -/* Set by buffering_audio_callback when the low buffer event is received, to - avoid flodding the audio queue with fill_file_buffer messages. */ -static bool lowbuffer_event_sent = false; - /* Set by the audio thread when the current track information has updated * and the WPS may need to update its cached information */ static bool track_changed = false; @@ -1501,11 +1497,9 @@ switch (ev) { case EVENT_BUFFER_LOW: - if (!lowbuffer_event_sent) { - LOGFQUEUE("buffering > audio Q_AUDIO_FILL_BUFFER"); - queue_post(&audio_queue, Q_AUDIO_FILL_BUFFER, 0); - lowbuffer_event_sent = true; - } + LOGFQUEUE("buffering > audio Q_AUDIO_FILL_BUFFER"); + queue_remove_from_head(&audio_queue, Q_AUDIO_FILL_BUFFER); + queue_post(&audio_queue, Q_AUDIO_FILL_BUFFER, 0); break; case EVENT_HANDLE_REBUFFER: @@ -1973,7 +1967,6 @@ track_changed = true; audio_generate_postbuffer_events(); - lowbuffer_event_sent = false; } static void audio_rebuffer(void)