diff options
| author | Kelebek1 <eeeedddccc@hotmail.co.uk> | 2023-05-10 17:59:21 +0100 |
|---|---|---|
| committer | Kelebek1 <eeeedddccc@hotmail.co.uk> | 2023-05-18 13:03:32 +0100 |
| commit | d75bcdd07793954e6c33ba131871c183492b32b0 (patch) | |
| tree | dcdacfe32430c6a33553dc7ae440c4a7011ef9ab /src/audio_core/renderer/adsp/audio_renderer.cpp | |
| parent | f35c14fb73ed5a27f147f33e10bded1b26717b2d (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.cpp | 5 |
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()}; |
