From c25e8427aa40a4ae920496220fd1e1621eff178b Mon Sep 17 00:00:00 2001 From: Mary-nyan Date: Fri, 2 Dec 2022 14:01:19 +0100 Subject: amadeus: Fix wrong SendCommands logic (#3969) * amadeus: Fix wrong SendCommands logic Might help with audio desync, might cause audio stutters, will see! * Address gdkchan's comment --- Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs') diff --git a/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs b/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs index 34fdef8a..5116f7ca 100644 --- a/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs +++ b/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs @@ -670,14 +670,21 @@ namespace Ryujinx.Audio.Renderer.Server { _terminationEvent.Reset(); - GenerateCommandList(out CommandList commands); + if (!_manager.Processor.HasRemainingCommands(_sessionId)) + { + GenerateCommandList(out CommandList commands); - _manager.Processor.Send(_sessionId, - commands, - GetMaxAllocatedTimeForDsp(), - _appletResourceId); + _manager.Processor.Send(_sessionId, + commands, + GetMaxAllocatedTimeForDsp(), + _appletResourceId); - _systemEvent.Signal(); + _systemEvent.Signal(); + } + else + { + _isDspRunningBehind = true; + } } else { -- cgit v1.2.3