diff options
Diffstat (limited to 'Ryujinx.Audio/Renderer/Server')
| -rw-r--r-- | Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs | 4 | ||||
| -rw-r--r-- | Ryujinx.Audio/Renderer/Server/AudioRendererManager.cs | 10 |
2 files changed, 10 insertions, 4 deletions
diff --git a/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs b/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs index 0c41909e..5fa5b797 100644 --- a/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs +++ b/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs @@ -523,9 +523,7 @@ namespace Ryujinx.Audio.Renderer.Server private ulong GetSystemTicks() { - double ticks = ARMeilleure.State.ExecutionContext.ElapsedTicks * ARMeilleure.State.ExecutionContext.TickFrequency; - - return (ulong)(ticks * Constants.TargetTimerFrequency); + return (ulong)(_manager.TickSource.ElapsedSeconds * Constants.TargetTimerFrequency); } private uint ComputeVoiceDrop(CommandBuffer commandBuffer, long voicesEstimatedTime, long deltaTimeDsp) diff --git a/Ryujinx.Audio/Renderer/Server/AudioRendererManager.cs b/Ryujinx.Audio/Renderer/Server/AudioRendererManager.cs index d20c3c03..90be7111 100644 --- a/Ryujinx.Audio/Renderer/Server/AudioRendererManager.cs +++ b/Ryujinx.Audio/Renderer/Server/AudioRendererManager.cs @@ -19,6 +19,7 @@ using Ryujinx.Audio.Integration; using Ryujinx.Audio.Renderer.Dsp; using Ryujinx.Audio.Renderer.Parameter; using Ryujinx.Common.Logging; +using Ryujinx.Cpu; using Ryujinx.Memory; using System; using System.Diagnostics; @@ -78,6 +79,11 @@ namespace Ryujinx.Audio.Renderer.Server private IHardwareDeviceDriver _deviceDriver; /// <summary> + /// Tick source used to measure elapsed time. + /// </summary> + public ITickSource TickSource { get; } + + /// <summary> /// The <see cref="AudioProcessor"/> instance associated to this manager. /// </summary> public AudioProcessor Processor { get; } @@ -90,9 +96,11 @@ namespace Ryujinx.Audio.Renderer.Server /// <summary> /// Create a new <see cref="AudioRendererManager"/>. /// </summary> - public AudioRendererManager() + /// <param name="tickSource">Tick source used to measure elapsed time.</param> + public AudioRendererManager(ITickSource tickSource) { Processor = new AudioProcessor(); + TickSource = tickSource; _sessionIds = new int[Constants.AudioRendererSessionCountMax]; _sessions = new AudioRenderSystem[Constants.AudioRendererSessionCountMax]; _activeSessionCount = 0; |
