From 26f7e3539f3b585548bfcf1e033ad32eb6f1aafd Mon Sep 17 00:00:00 2001 From: georgemoralis Date: Thu, 21 Mar 2024 16:31:41 +0200 Subject: [PATCH] fix for audio buffering --- src/audio_core/sdl_audio.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/audio_core/sdl_audio.cpp b/src/audio_core/sdl_audio.cpp index 4269b8a60..98a066c2e 100644 --- a/src/audio_core/sdl_audio.cpp +++ b/src/audio_core/sdl_audio.cpp @@ -93,8 +93,14 @@ s32 SDLAudio::AudioOutOutput(s32 handle, const void* ptr) { if (!port.isOpen || ptr == nullptr) return 0; - return SDL_PutAudioStreamData(port.stream, ptr, - port.samples_num * port.sample_size * port.channels_num); + int result=SDL_PutAudioStreamData(port.stream, ptr, + port.samples_num * port.sample_size * port.channels_num); + // TODO find a correct value 8192 is estimated + while (SDL_GetAudioStreamAvailable(port.stream) > 8192) { + SDL_Delay(0); + } + + return result; } } // namespace Audio