aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core/renderer/adsp/audio_renderer.cpp
diff options
context:
space:
mode:
authorKelebek1 <eeeedddccc@hotmail.co.uk>2023-05-10 17:59:21 +0100
committerKelebek1 <eeeedddccc@hotmail.co.uk>2023-05-18 13:03:32 +0100
commitd75bcdd07793954e6c33ba131871c183492b32b0 (patch)
treedcdacfe32430c6a33553dc7ae440c4a7011ef9ab /src/audio_core/renderer/adsp/audio_renderer.cpp
parentf35c14fb73ed5a27f147f33e10bded1b26717b2d (diff)
Smooth out the DSP callback by adding a 5ms wait time limit
Diffstat (limited to 'src/audio_core/renderer/adsp/audio_renderer.cpp')
-rw-r--r--src/audio_core/renderer/adsp/audio_renderer.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/audio_core/renderer/adsp/audio_renderer.cpp b/src/audio_core/renderer/adsp/audio_renderer.cpp
index 503f40349..1cbeed302 100644
--- a/src/audio_core/renderer/adsp/audio_renderer.cpp
+++ b/src/audio_core/renderer/adsp/audio_renderer.cpp
@@ -154,6 +154,11 @@ void AudioRenderer::ThreadFunc() {
return;
case RenderMessage::AudioRenderer_Render: {
+ if (system.IsShuttingDown()) [[unlikely]] {
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
+ mailbox->ADSPSendMessage(RenderMessage::AudioRenderer_RenderResponse);
+ continue;
+ }
std::array<bool, MaxRendererSessions> buffers_reset{};
std::array<u64, MaxRendererSessions> render_times_taken{};
const auto start_time{system.CoreTiming().GetClockTicks()};