diff --git a/Source/Core/Core/HW/AudioInterface.cpp b/Source/Core/Core/HW/AudioInterface.cpp index d29ee0801a..7da1378d47 100644 --- a/Source/Core/Core/HW/AudioInterface.cpp +++ b/Source/Core/Core/HW/AudioInterface.cpp @@ -241,9 +241,10 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base) })); mmio->Register(base | AI_SAMPLE_COUNTER, MMIO::ComplexRead([](u32) { + const u64 cycles_streamed = + IsPlaying() ? (CoreTiming::GetTicks() - s_last_cpu_time) : s_last_cpu_time; return s_sample_counter + - static_cast((CoreTiming::GetTicks() - s_last_cpu_time) / - s_cpu_cycles_per_sample); + static_cast(cycles_streamed / s_cpu_cycles_per_sample); }), MMIO::ComplexWrite([](u32, u32 val) { s_sample_counter = val;