From 44585b98cc125493a4641ff1d098842b4bb5452d Mon Sep 17 00:00:00 2001 From: Megamouse Date: Wed, 29 Nov 2023 23:50:58 +0100 Subject: [PATCH] audio: fix time stretching regression --- rpcs3/Emu/Audio/audio_resampler.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/Audio/audio_resampler.cpp b/rpcs3/Emu/Audio/audio_resampler.cpp index b029172dfa..32c7109b4c 100644 --- a/rpcs3/Emu/Audio/audio_resampler.cpp +++ b/rpcs3/Emu/Audio/audio_resampler.cpp @@ -33,7 +33,10 @@ void audio_resampler::put_samples(const f32* buf, u32 sample_cnt) std::pair audio_resampler::get_samples(u32 sample_cnt) { - return std::make_pair(resampler.bufBegin(), resampler.receiveSamples(sample_cnt)); + // NOTE: Make sure to get the buffer first because receiveSamples advances its position internally + // and std::make_pair evaluates the second parameter first... + f32 *const buf = resampler.bufBegin(); + return std::make_pair(buf, resampler.receiveSamples(sample_cnt)); } u32 audio_resampler::samples_available() const