aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Audio/Input/AudioInputManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Audio/Input/AudioInputManager.cs')
-rw-r--r--src/Ryujinx.Audio/Input/AudioInputManager.cs14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/Ryujinx.Audio/Input/AudioInputManager.cs b/src/Ryujinx.Audio/Input/AudioInputManager.cs
index 63cbe031..4d1796c9 100644
--- a/src/Ryujinx.Audio/Input/AudioInputManager.cs
+++ b/src/Ryujinx.Audio/Input/AudioInputManager.cs
@@ -24,7 +24,7 @@ namespace Ryujinx.Audio.Input
/// <summary>
/// The session ids allocation table.
/// </summary>
- private int[] _sessionIds;
+ private readonly int[] _sessionIds;
/// <summary>
/// The device driver.
@@ -39,7 +39,7 @@ namespace Ryujinx.Audio.Input
/// <summary>
/// The <see cref="AudioInputSystem"/> session instances.
/// </summary>
- private AudioInputSystem[] _sessions;
+ private readonly AudioInputSystem[] _sessions;
/// <summary>
/// The count of active sessions.
@@ -166,6 +166,7 @@ namespace Ryujinx.Audio.Input
/// </summary>
/// <param name="filtered">If true, filter disconnected devices</param>
/// <returns>The list of all audio inputs name</returns>
+#pragma warning disable CA1822 // Mark member as static
public string[] ListAudioIns(bool filtered)
{
if (filtered)
@@ -173,8 +174,9 @@ namespace Ryujinx.Audio.Input
// TODO: Detect if the driver supports audio input
}
- return new string[] { Constants.DefaultDeviceInputName };
+ return new[] { Constants.DefaultDeviceInputName };
}
+#pragma warning restore CA1822
/// <summary>
/// Open a new <see cref="AudioInputSystem"/>.
@@ -205,7 +207,7 @@ namespace Ryujinx.Audio.Input
IHardwareDeviceSession deviceSession = _deviceDriver.OpenDeviceSession(IHardwareDeviceDriver.Direction.Input, memoryManager, sampleFormat, parameter.SampleRate, parameter.ChannelCount);
- AudioInputSystem audioIn = new AudioInputSystem(this, _lock, deviceSession, _sessionsBufferEvents[sessionId]);
+ AudioInputSystem audioIn = new(this, _lock, deviceSession, _sessionsBufferEvents[sessionId]);
ResultCode result = audioIn.Initialize(inputDeviceName, sampleFormat, ref parameter, sessionId);
@@ -238,6 +240,8 @@ namespace Ryujinx.Audio.Input
public void Dispose()
{
+ GC.SuppressFinalize(this);
+
if (Interlocked.CompareExchange(ref _disposeState, 1, 0) == 0)
{
Dispose(true);
@@ -263,4 +267,4 @@ namespace Ryujinx.Audio.Input
}
}
}
-} \ No newline at end of file
+}