From db4c41186afcfba0533c9f02f420dd5d6f5fe96b Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Wed, 20 Jun 2018 22:49:21 -0700 Subject: Limit underflow warning spam --- render_sdl.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'render_sdl.c') diff --git a/render_sdl.c b/render_sdl.c index 7e0e826..87b4971 100755 --- a/render_sdl.c +++ b/render_sdl.c @@ -190,6 +190,10 @@ static uint32_t min_remaining_buffer; static void audio_callback_drc(void *userData, uint8_t *byte_stream, int len) { memset(byte_stream, 0, len); + if (cur_min_buffered < 0) { + //underflow last frame, but main thread hasn't gotten a chance to call SDL_PauseAudio yet + return; + } cur_min_buffered = 0x7FFFFFFF; min_remaining_buffer = 0xFFFFFFFF; for (uint8_t i = 0; i < num_audio_sources; i++) @@ -1436,6 +1440,7 @@ void render_framebuffer_updated(uint8_t which, int width) adjust_ratio = max_adjust; SDL_PauseAudio(1); last_buffered = NO_LAST_BUFFERED; + cur_min_buffered = 0; } else { adjust_ratio = -1.0 * average_change / ((float)sample_rate / (float)source_hz); adjust_ratio /= 2.5 * source_hz; -- cgit v1.2.3