aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Audio/Input
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Audio/Input')
-rw-r--r--src/Ryujinx.Audio/Input/AudioInputManager.cs14
-rw-r--r--src/Ryujinx.Audio/Input/AudioInputSystem.cs24
2 files changed, 23 insertions, 15 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
+}
diff --git a/src/Ryujinx.Audio/Input/AudioInputSystem.cs b/src/Ryujinx.Audio/Input/AudioInputSystem.cs
index 33364e28..34623b34 100644
--- a/src/Ryujinx.Audio/Input/AudioInputSystem.cs
+++ b/src/Ryujinx.Audio/Input/AudioInputSystem.cs
@@ -18,7 +18,7 @@ namespace Ryujinx.Audio.Input
/// <summary>
/// The session the <see cref="AudioInputSystem"/>.
/// </summary>
- private AudioDeviceSession _session;
+ private readonly AudioDeviceSession _session;
/// <summary>
/// The target device name of the <see cref="AudioInputSystem"/>.
@@ -43,7 +43,7 @@ namespace Ryujinx.Audio.Input
/// <summary>
/// The <see cref="AudioInputManager"/> owning this.
/// </summary>
- private AudioInputManager _manager;
+ private readonly AudioInputManager _manager;
/// <summary>
/// The lock of the parent.
@@ -90,11 +90,13 @@ namespace Ryujinx.Audio.Input
{
return ResultCode.DeviceNotFound;
}
- else if (configuration.SampleRate != 0 && configuration.SampleRate != Constants.TargetSampleRate)
+
+ if (configuration.SampleRate != 0 && configuration.SampleRate != Constants.TargetSampleRate)
{
return ResultCode.UnsupportedSampleRate;
}
- else if (configuration.ChannelCount != 0 && configuration.ChannelCount != 1 && configuration.ChannelCount != 2 && configuration.ChannelCount != 6)
+
+ if (configuration.ChannelCount != 0 && configuration.ChannelCount != 1 && configuration.ChannelCount != 2 && configuration.ChannelCount != 6)
{
return ResultCode.UnsupportedChannelConfiguration;
}
@@ -185,11 +187,11 @@ namespace Ryujinx.Audio.Input
{
lock (_parentLock)
{
- AudioBuffer buffer = new AudioBuffer
+ AudioBuffer buffer = new()
{
BufferTag = bufferTag,
DataPointer = userBuffer.Data,
- DataSize = userBuffer.DataSize
+ DataSize = userBuffer.DataSize,
};
if (_session.AppendBuffer(buffer))
@@ -213,14 +215,14 @@ namespace Ryujinx.Audio.Input
{
lock (_parentLock)
{
- AudioBuffer buffer = new AudioBuffer
+ AudioBuffer buffer = new()
{
BufferTag = bufferTag,
DataPointer = userBuffer.Data,
- DataSize = userBuffer.DataSize
+ DataSize = userBuffer.DataSize,
};
- if (_session.AppendUacBuffer(buffer, handle))
+ if (AudioDeviceSession.AppendUacBuffer(buffer, handle))
{
return ResultCode.Success;
}
@@ -373,6 +375,8 @@ namespace Ryujinx.Audio.Input
public void Dispose()
{
+ GC.SuppressFinalize(this);
+
if (Interlocked.CompareExchange(ref _disposeState, 1, 0) == 0)
{
Dispose(true);
@@ -389,4 +393,4 @@ namespace Ryujinx.Audio.Input
}
}
}
-} \ No newline at end of file
+}