From db47a6b9bdc07e212d34d4be4d248c97173e185a Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Tue, 17 Mar 2026 00:03:15 +0100 Subject: [PATCH] Clear history samples when resetting channel --- src/dusk/audio/DuskDsp.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dusk/audio/DuskDsp.cpp b/src/dusk/audio/DuskDsp.cpp index 947b414bc3..3c5679e9df 100644 --- a/src/dusk/audio/DuskDsp.cpp +++ b/src/dusk/audio/DuskDsp.cpp @@ -60,7 +60,7 @@ static void RenderChannel( ChannelAuxData& channelAux, DspSubframe& subframe); -static void ResetChannel(JASDsp::TChannel& channel, const ChannelAuxData& aux) { +static void ResetChannel(JASDsp::TChannel& channel, ChannelAuxData& aux) { channel.mSamplesLeft = channel.mEndSample - channel.mSamplePosition; const SDL_AudioSpec spec = { @@ -69,6 +69,9 @@ static void ResetChannel(JASDsp::TChannel& channel, const ChannelAuxData& aux) { static_cast(static_cast(SampleRate) * channel.mPitch / 4096) }; + aux.hist0 = 0; + aux.hist1 = 0; + SDL_ClearAudioStream(aux.resampleStream); SDL_SetAudioStreamFormat(aux.resampleStream, &spec, nullptr);