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
This commit is contained in:
Mary-nyan 2022-12-02 14:01:19 +01:00 committed by GitHub
parent 21a081b185
commit c25e8427aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 6 deletions

View File

@ -116,6 +116,11 @@ namespace Ryujinx.Audio.Renderer.Dsp
};
}
public bool HasRemainingCommands(int sessionId)
{
return _sessionCommandList[sessionId] != null;
}
public void Signal()
{
_mailbox.SendMessage(MailboxMessage.RenderStart);

View File

@ -670,6 +670,8 @@ namespace Ryujinx.Audio.Renderer.Server
{
_terminationEvent.Reset();
if (!_manager.Processor.HasRemainingCommands(_sessionId))
{
GenerateCommandList(out CommandList commands);
_manager.Processor.Send(_sessionId,
@ -680,6 +682,11 @@ namespace Ryujinx.Audio.Renderer.Server
_systemEvent.Signal();
}
else
{
_isDspRunningBehind = true;
}
}
else
{
_terminationEvent.Set();
}