From 0a7627d74e0829bc532259deef0ad1c44e0dccd4 Mon Sep 17 00:00:00 2001 From: Sepalani Date: Sat, 19 Jun 2021 14:19:22 +0400 Subject: [PATCH] AudioInterface: Fix sample counter --- Source/Core/Core/HW/AudioInterface.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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;