Mercurial > repos > blastem
changeset 1589:780604a036e4
Limit underflow warning spam
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 20 Jun 2018 22:49:21 -0700 |
parents | 348814d5b73f |
children | 220ede292e97 |
files | render_sdl.c |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/render_sdl.c Wed Jun 20 09:43:28 2018 -0700 +++ b/render_sdl.c Wed Jun 20 22:49:21 2018 -0700 @@ -190,6 +190,10 @@ 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 @@ 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;