diff options
Diffstat (limited to 'Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs')
-rw-r--r-- | Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs b/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs index 787b8f9f..112b0e44 100644 --- a/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs +++ b/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs @@ -142,6 +142,11 @@ namespace Ryujinx.Audio.Renderer.Server _sessionId = sessionId; MemoryManager = memoryManager; + if (memoryManager is IRefCounted rc) + { + rc.IncrementReferenceCount(); + } + WorkBufferAllocator workBufferAllocator; _workBufferRegion = MemoryManager.GetWritableRegion(workBuffer, (int)workBufferSize); @@ -832,6 +837,13 @@ namespace Ryujinx.Audio.Renderer.Server _terminationEvent.Dispose(); _workBufferMemoryPin.Dispose(); _workBufferRegion.Dispose(); + + if (MemoryManager is IRefCounted rc) + { + rc.DecrementReferenceCount(); + + MemoryManager = null; + } } } } |