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