aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs')
-rw-r--r--Ryujinx.Audio/Renderer/Server/AudioRenderSystem.cs12
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;
+ }
}
}
}