From 239b585d8c69e0b80860c55cae44a86ab986c794 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Sun, 18 Sep 2022 11:56:22 +1000 Subject: [PATCH] AudioStream: Fix several-second-looping bug on underrun --- src/util/audio_stream.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/util/audio_stream.cpp b/src/util/audio_stream.cpp index 77f6381f5..6743d53b9 100644 --- a/src/util/audio_stream.cpp +++ b/src/util/audio_stream.cpp @@ -116,9 +116,10 @@ void AudioStream::ReadFrames(s16* bData, u32 nFrames) Log_VerbosePrintf("Underrun compensation done (%d frames buffered)", toFill); } } - else if (available_frames < nFrames) + + if (available_frames < frames_to_read) { - silence_frames = nFrames - available_frames; + silence_frames = frames_to_read - available_frames; frames_to_read = available_frames; m_filling = true;