aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Services/Audio
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/Audio')
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioIn/AudioIn.cs12
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioIn/AudioInServer.cs22
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioInManager.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioInManagerServer.cs10
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioOut/AudioOut.cs10
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioOut/AudioOutServer.cs22
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioOutManager.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioOutManagerServer.cs6
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioDevice.cs16
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioDeviceServer.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioRenderer.cs6
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioRendererServer.cs38
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/IAudioDevice.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager.cs4
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManagerServer.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/Decoder.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/DecoderCommon.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/IDecoder.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/IHardwareOpusDecoder.cs8
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/MultiSampleDecoder.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IAudioController.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManager.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManagerForApplet.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManagerForDebugger.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IAudioOutManagerForApplet.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IAudioOutManagerForDebugger.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IAudioRendererManagerForApplet.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IAudioRendererManagerForDebugger.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IAudioSnoopManager.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManager.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManagerForApplet.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManagerForDebugger.cs2
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/IHardwareOpusDecoderManager.cs10
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/ResultCode.cs20
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Audio/Types/OpusPacketHeader.cs2
35 files changed, 116 insertions, 112 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioIn/AudioIn.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioIn/AudioIn.cs
index ee85ded9..ee8e4643 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioIn/AudioIn.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioIn/AudioIn.cs
@@ -10,9 +10,9 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
{
class AudioIn : IAudioIn
{
- private AudioInputSystem _system;
- private uint _processHandle;
- private KernelContext _kernelContext;
+ private readonly AudioInputSystem _system;
+ private readonly uint _processHandle;
+ private readonly KernelContext _kernelContext;
public AudioIn(AudioInputSystem system, KernelContext kernelContext, uint processHandle)
{
@@ -80,9 +80,9 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
{
IWritableEvent outEvent = _system.RegisterBufferEvent();
- if (outEvent is AudioKernelEvent)
+ if (outEvent is AudioKernelEvent kernelEvent)
{
- return ((AudioKernelEvent)outEvent).Event;
+ return kernelEvent.Event;
}
else
{
@@ -105,4 +105,4 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
return (ResultCode)_system.Stop();
}
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioIn/AudioInServer.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioIn/AudioInServer.cs
index a80b9402..81b76e7a 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioIn/AudioInServer.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioIn/AudioInServer.cs
@@ -11,7 +11,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
{
class AudioInServer : DisposableIpcService
{
- private IAudioIn _impl;
+ private readonly IAudioIn _impl;
public AudioInServer(IAudioIn impl)
{
@@ -77,14 +77,12 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
ulong position = context.Request.ReceiveBuff[0].Position;
ulong size = context.Request.ReceiveBuff[0].Size;
- using (WritableRegion outputRegion = context.Memory.GetWritableRegion((ulong)position, (int)size))
- {
- ResultCode result = _impl.GetReleasedBuffers(MemoryMarshal.Cast<byte, ulong>(outputRegion.Memory.Span), out uint releasedCount);
+ using WritableRegion outputRegion = context.Memory.GetWritableRegion((ulong)position, (int)size);
+ ResultCode result = _impl.GetReleasedBuffers(MemoryMarshal.Cast<byte, ulong>(outputRegion.Memory.Span), out uint releasedCount);
- context.ResponseData.Write(releasedCount);
+ context.ResponseData.Write(releasedCount);
- return result;
- }
+ return result;
}
[CommandCmif(6)]
@@ -131,14 +129,12 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
{
(ulong position, ulong size) = context.Request.GetBufferType0x22();
- using (WritableRegion outputRegion = context.Memory.GetWritableRegion(position, (int)size))
- {
- ResultCode result = _impl.GetReleasedBuffers(MemoryMarshal.Cast<byte, ulong>(outputRegion.Memory.Span), out uint releasedCount);
+ using WritableRegion outputRegion = context.Memory.GetWritableRegion(position, (int)size);
+ ResultCode result = _impl.GetReleasedBuffers(MemoryMarshal.Cast<byte, ulong>(outputRegion.Memory.Span), out uint releasedCount);
- context.ResponseData.Write(releasedCount);
+ context.ResponseData.Write(releasedCount);
- return result;
- }
+ return result;
}
[CommandCmif(10)] // 3.0.0+
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioInManager.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioInManager.cs
index 36b0ed28..ba7462d3 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioInManager.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioInManager.cs
@@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
{
class AudioInManager : IAudioInManager
{
- private AudioInManagerImpl _impl;
+ private readonly AudioInManagerImpl _impl;
public AudioInManager(AudioInManagerImpl impl)
{
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioInManagerServer.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioInManagerServer.cs
index 755caee5..ac1863ab 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioInManagerServer.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioInManagerServer.cs
@@ -12,7 +12,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
{
private const int AudioInNameSize = 0x100;
- private IAudioInManager _impl;
+ private readonly IAudioInManager _impl;
public AudioInManagerServer(ServiceCtx context) : this(context, new AudioInManager(context.Device.System.AudioInputManager)) { }
@@ -69,7 +69,9 @@ namespace Ryujinx.HLE.HOS.Services.Audio
ulong deviceNameInputSize = context.Request.SendBuff[0].Size;
ulong deviceNameOutputPosition = context.Request.ReceiveBuff[0].Position;
+#pragma warning disable IDE0059 // Remove unnecessary value assignment
ulong deviceNameOutputSize = context.Request.ReceiveBuff[0].Size;
+#pragma warning restore IDE0059
uint processHandle = (uint)context.Request.HandleDesc.ToCopy[0];
@@ -136,7 +138,9 @@ namespace Ryujinx.HLE.HOS.Services.Audio
ulong appletResourceUserId = context.RequestData.ReadUInt64();
(ulong deviceNameInputPosition, ulong deviceNameInputSize) = context.Request.GetBufferType0x21();
+#pragma warning disable IDE0059 // Remove unnecessary value assignment
(ulong deviceNameOutputPosition, ulong deviceNameOutputSize) = context.Request.GetBufferType0x22();
+#pragma warning restore IDE0059
uint processHandle = (uint)context.Request.HandleDesc.ToCopy[0];
@@ -200,7 +204,9 @@ namespace Ryujinx.HLE.HOS.Services.Audio
public ResultCode OpenAudioInProtocolSpecified(ServiceCtx context)
{
// NOTE: We always assume that only the default device will be plugged (we never report any USB Audio Class type devices).
+#pragma warning disable IDE0059 // Remove unnecessary value assignment
bool protocolSpecifiedRelated = context.RequestData.ReadUInt64() == 1;
+#pragma warning restore IDE0059
AudioInputConfiguration inputConfiguration = context.RequestData.ReadStruct<AudioInputConfiguration>();
ulong appletResourceUserId = context.RequestData.ReadUInt64();
@@ -209,7 +215,9 @@ namespace Ryujinx.HLE.HOS.Services.Audio
ulong deviceNameInputSize = context.Request.SendBuff[0].Size;
ulong deviceNameOutputPosition = context.Request.ReceiveBuff[0].Position;
+#pragma warning disable IDE0051, IDE0059 // Remove unused private member
ulong deviceNameOutputSize = context.Request.ReceiveBuff[0].Size;
+#pragma warning restore IDE0051, IDE0059
uint processHandle = (uint)context.Request.HandleDesc.ToCopy[0];
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioOut/AudioOut.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioOut/AudioOut.cs
index f2588452..8624ab9b 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioOut/AudioOut.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioOut/AudioOut.cs
@@ -10,9 +10,9 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
{
class AudioOut : IAudioOut
{
- private AudioOutputSystem _system;
- private uint _processHandle;
- private KernelContext _kernelContext;
+ private readonly AudioOutputSystem _system;
+ private readonly uint _processHandle;
+ private readonly KernelContext _kernelContext;
public AudioOut(AudioOutputSystem system, KernelContext kernelContext, uint processHandle)
{
@@ -80,9 +80,9 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
{
IWritableEvent outEvent = _system.RegisterBufferEvent();
- if (outEvent is AudioKernelEvent)
+ if (outEvent is AudioKernelEvent kernelEvent)
{
- return ((AudioKernelEvent)outEvent).Event;
+ return kernelEvent.Event;
}
else
{
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioOut/AudioOutServer.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioOut/AudioOutServer.cs
index 329e1794..3b6834f7 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioOut/AudioOutServer.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioOut/AudioOutServer.cs
@@ -11,7 +11,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
{
class AudioOutServer : DisposableIpcService
{
- private IAudioOut _impl;
+ private readonly IAudioOut _impl;
public AudioOutServer(IAudioOut impl)
{
@@ -77,14 +77,12 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
ulong position = context.Request.ReceiveBuff[0].Position;
ulong size = context.Request.ReceiveBuff[0].Size;
- using (WritableRegion outputRegion = context.Memory.GetWritableRegion(position, (int)size))
- {
- ResultCode result = _impl.GetReleasedBuffers(MemoryMarshal.Cast<byte, ulong>(outputRegion.Memory.Span), out uint releasedCount);
+ using WritableRegion outputRegion = context.Memory.GetWritableRegion(position, (int)size);
+ ResultCode result = _impl.GetReleasedBuffers(MemoryMarshal.Cast<byte, ulong>(outputRegion.Memory.Span), out uint releasedCount);
- context.ResponseData.Write(releasedCount);
+ context.ResponseData.Write(releasedCount);
- return result;
- }
+ return result;
}
[CommandCmif(6)]
@@ -117,14 +115,12 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
{
(ulong position, ulong size) = context.Request.GetBufferType0x22();
- using (WritableRegion outputRegion = context.Memory.GetWritableRegion(position, (int)size))
- {
- ResultCode result = _impl.GetReleasedBuffers(MemoryMarshal.Cast<byte, ulong>(outputRegion.Memory.Span), out uint releasedCount);
+ using WritableRegion outputRegion = context.Memory.GetWritableRegion(position, (int)size);
+ ResultCode result = _impl.GetReleasedBuffers(MemoryMarshal.Cast<byte, ulong>(outputRegion.Memory.Span), out uint releasedCount);
- context.ResponseData.Write(releasedCount);
+ context.ResponseData.Write(releasedCount);
- return result;
- }
+ return result;
}
[CommandCmif(9)] // 4.0.0+
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioOutManager.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioOutManager.cs
index e95de057..fbbb3e1d 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioOutManager.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioOutManager.cs
@@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
{
class AudioOutManager : IAudioOutManager
{
- private AudioOutManagerImpl _impl;
+ private readonly AudioOutManagerImpl _impl;
public AudioOutManager(AudioOutManagerImpl impl)
{
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioOutManagerServer.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioOutManagerServer.cs
index 7c5d8c4e..ca4d6163 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioOutManagerServer.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioOutManagerServer.cs
@@ -12,7 +12,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
{
private const int AudioOutNameSize = 0x100;
- private IAudioOutManager _impl;
+ private readonly IAudioOutManager _impl;
public AudioOutManagerServer(ServiceCtx context) : this(context, new AudioOutManager(context.Device.System.AudioOutputManager)) { }
@@ -69,7 +69,9 @@ namespace Ryujinx.HLE.HOS.Services.Audio
ulong deviceNameInputSize = context.Request.SendBuff[0].Size;
ulong deviceNameOutputPosition = context.Request.ReceiveBuff[0].Position;
+#pragma warning disable IDE0059 // Remove unnecessary value assignment
ulong deviceNameOutputSize = context.Request.ReceiveBuff[0].Size;
+#pragma warning restore IDE0059
uint processHandle = (uint)context.Request.HandleDesc.ToCopy[0];
@@ -136,7 +138,9 @@ namespace Ryujinx.HLE.HOS.Services.Audio
ulong appletResourceUserId = context.RequestData.ReadUInt64();
(ulong deviceNameInputPosition, ulong deviceNameInputSize) = context.Request.GetBufferType0x21();
+#pragma warning disable IDE0059 // Remove unnecessary value assignment
(ulong deviceNameOutputPosition, ulong deviceNameOutputSize) = context.Request.GetBufferType0x22();
+#pragma warning restore IDE0059
uint processHandle = (uint)context.Request.HandleDesc.ToCopy[0];
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioDevice.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioDevice.cs
index 724a1e9e..9a08f1ba 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioDevice.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioDevice.cs
@@ -7,13 +7,15 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
{
class AudioDevice : IAudioDevice
{
- private VirtualDeviceSession[] _sessions;
- private ulong _appletResourceId;
- private int _revision;
- private bool _isUsbDeviceSupported;
+ private readonly VirtualDeviceSession[] _sessions;
+#pragma warning disable IDE0052 // Remove unread private member
+ private readonly ulong _appletResourceId;
+ private readonly int _revision;
+#pragma warning restore IDE0052
+ private readonly bool _isUsbDeviceSupported;
- private VirtualDeviceSessionRegistry _registry;
- private KEvent _systemEvent;
+ private readonly VirtualDeviceSessionRegistry _registry;
+ private readonly KEvent _systemEvent;
public AudioDevice(VirtualDeviceSessionRegistry registry, KernelContext context, ulong appletResourceId, int revision)
{
@@ -21,7 +23,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
_appletResourceId = appletResourceId;
_revision = revision;
- BehaviourContext behaviourContext = new BehaviourContext();
+ BehaviourContext behaviourContext = new();
behaviourContext.SetUserRevision(revision);
_isUsbDeviceSupported = behaviourContext.IsAudioUsbDeviceOutputSupported();
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioDeviceServer.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioDeviceServer.cs
index e7a75121..9694406d 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioDeviceServer.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioDeviceServer.cs
@@ -12,7 +12,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
{
private const int AudioDeviceNameSize = 0x100;
- private IAudioDevice _impl;
+ private readonly IAudioDevice _impl;
public AudioDeviceServer(IAudioDevice impl)
{
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioRenderer.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioRenderer.cs
index 5b682bf8..8b8e55fb 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioRenderer.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioRenderer.cs
@@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
{
class AudioRenderer : IAudioRenderer
{
- private AudioRenderSystem _impl;
+ private readonly AudioRenderSystem _impl;
public AudioRenderer(AudioRenderSystem impl)
{
@@ -55,9 +55,9 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
if (resultCode == ResultCode.Success)
{
- if (outEvent is AudioKernelEvent)
+ if (outEvent is AudioKernelEvent kernelEvent)
{
- systemEvent = ((AudioKernelEvent)outEvent).Event;
+ systemEvent = kernelEvent.Event;
}
else
{
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioRendererServer.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioRendererServer.cs
index 5d8e086d..af8d20ba 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioRendererServer.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/AudioRendererServer.cs
@@ -10,7 +10,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
{
class AudioRendererServer : DisposableIpcService
{
- private IAudioRenderer _impl;
+ private readonly IAudioRenderer _impl;
public AudioRendererServer(IAudioRenderer impl)
{
@@ -69,29 +69,27 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
ReadOnlyMemory<byte> input = context.Memory.GetSpan(inputPosition, (int)inputSize).ToArray();
- using (IMemoryOwner<byte> outputOwner = ByteMemoryPool.RentCleared(outputSize))
- using (IMemoryOwner<byte> performanceOutputOwner = ByteMemoryPool.RentCleared(performanceOutputSize))
- {
- Memory<byte> output = outputOwner.Memory;
- Memory<byte> performanceOutput = performanceOutputOwner.Memory;
-
- using MemoryHandle outputHandle = output.Pin();
- using MemoryHandle performanceOutputHandle = performanceOutput.Pin();
+ using IMemoryOwner<byte> outputOwner = ByteMemoryPool.RentCleared(outputSize);
+ using IMemoryOwner<byte> performanceOutputOwner = ByteMemoryPool.RentCleared(performanceOutputSize);
+ Memory<byte> output = outputOwner.Memory;
+ Memory<byte> performanceOutput = performanceOutputOwner.Memory;
- ResultCode result = _impl.RequestUpdate(output, performanceOutput, input);
+ using MemoryHandle outputHandle = output.Pin();
+ using MemoryHandle performanceOutputHandle = performanceOutput.Pin();
- if (result == ResultCode.Success)
- {
- context.Memory.Write(outputPosition, output.Span);
- context.Memory.Write(performanceOutputPosition, performanceOutput.Span);
- }
- else
- {
- Logger.Error?.Print(LogClass.ServiceAudio, $"Error while processing renderer update: 0x{(int)result:X}");
- }
+ ResultCode result = _impl.RequestUpdate(output, performanceOutput, input);
- return result;
+ if (result == ResultCode.Success)
+ {
+ context.Memory.Write(outputPosition, output.Span);
+ context.Memory.Write(performanceOutputPosition, performanceOutput.Span);
}
+ else
+ {
+ Logger.Error?.Print(LogClass.ServiceAudio, $"Error while processing renderer update: 0x{(int)result:X}");
+ }
+
+ return result;
}
[CommandCmif(5)]
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/IAudioDevice.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/IAudioDevice.cs
index 1918a977..4a1b5ffb 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/IAudioDevice.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRenderer/IAudioDevice.cs
@@ -6,7 +6,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
{
string[] ListAudioDeviceName();
ResultCode SetAudioDeviceOutputVolume(string name, float volume);
- ResultCode GetAudioDeviceOutputVolume(string name, out float volume);
+ ResultCode GetAudioDeviceOutputVolume(string name, out float volume);
string GetActiveAudioDeviceName();
KEvent QueryAudioDeviceSystemEvent();
uint GetActiveChannelCount();
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager.cs
index 40e71a43..b40c32a1 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager.cs
@@ -10,8 +10,8 @@ namespace Ryujinx.HLE.HOS.Services.Audio
{
class AudioRendererManager : IAudioRendererManager
{
- private AudioRendererManagerImpl _impl;
- private VirtualDeviceSessionRegistry _registry;
+ private readonly AudioRendererManagerImpl _impl;
+ private readonly VirtualDeviceSessionRegistry _registry;
public AudioRendererManager(AudioRendererManagerImpl impl, VirtualDeviceSessionRegistry registry)
{
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManagerServer.cs b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManagerServer.cs
index 80b54e8c..58a1daf1 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManagerServer.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManagerServer.cs
@@ -12,7 +12,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
{
private const int InitialRevision = ('R' << 0) | ('E' << 8) | ('V' << 16) | ('1' << 24);
- private IAudioRendererManager _impl;
+ private readonly IAudioRendererManager _impl;
public AudioRendererManagerServer(ServiceCtx context) : this(context, new AudioRendererManager(context.Device.System.AudioRendererManager, context.Device.System.AudioDeviceSessionRegistry)) { }
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/Decoder.cs b/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/Decoder.cs
index b77fc4b0..c5dd2f00 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/Decoder.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/Decoder.cs
@@ -24,4 +24,4 @@ namespace Ryujinx.HLE.HOS.Services.Audio.HardwareOpusDecoderManager
_decoder.ResetState();
}
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/DecoderCommon.cs b/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/DecoderCommon.cs
index 944541cc..9ff511a5 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/DecoderCommon.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/DecoderCommon.cs
@@ -89,4 +89,4 @@ namespace Ryujinx.HLE.HOS.Services.Audio.HardwareOpusDecoderManager
return ResultCode.Success;
}
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/IDecoder.cs b/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/IDecoder.cs
index 9047c266..cc83be5e 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/IDecoder.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/IDecoder.cs
@@ -8,4 +8,4 @@ namespace Ryujinx.HLE.HOS.Services.Audio.HardwareOpusDecoderManager
int Decode(byte[] inData, int inDataOffset, int len, short[] outPcm, int outPcmOffset, int frameSize);
void ResetState();
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/IHardwareOpusDecoder.cs b/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/IHardwareOpusDecoder.cs
index e94b31ca..3d5d2839 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/IHardwareOpusDecoder.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/IHardwareOpusDecoder.cs
@@ -87,10 +87,10 @@ namespace Ryujinx.HLE.HOS.Services.Audio.HardwareOpusDecoderManager
private ResultCode DecodeInterleavedInternal(ServiceCtx context, OpusDecoderFlags flags, bool reset, bool withPerf)
{
- ulong inPosition = context.Request.SendBuff[0].Position;
- ulong inSize = context.Request.SendBuff[0].Size;
+ ulong inPosition = context.Request.SendBuff[0].Position;
+ ulong inSize = context.Request.SendBuff[0].Size;
ulong outputPosition = context.Request.ReceiveBuff[0].Position;
- ulong outputSize = context.Request.ReceiveBuff[0].Size;
+ ulong outputSize = context.Request.ReceiveBuff[0].Size;
ReadOnlySpan<byte> input = context.Memory.GetSpan(inPosition, (int)inSize);
@@ -113,4 +113,4 @@ namespace Ryujinx.HLE.HOS.Services.Audio.HardwareOpusDecoderManager
return result;
}
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/MultiSampleDecoder.cs b/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/MultiSampleDecoder.cs
index 23721d3b..910bb23e 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/MultiSampleDecoder.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/HardwareOpusDecoderManager/MultiSampleDecoder.cs
@@ -25,4 +25,4 @@ namespace Ryujinx.HLE.HOS.Services.Audio.HardwareOpusDecoderManager
_decoder.ResetState();
}
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioController.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioController.cs
index 1bd2e31d..22367580 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioController.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioController.cs
@@ -5,4 +5,4 @@
{
public IAudioController(ServiceCtx context) { }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManager.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManager.cs
index 9bbe5b0e..709320c8 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManager.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManager.cs
@@ -9,4 +9,4 @@ namespace Ryujinx.HLE.HOS.Services.Audio
public ResultCode OpenAudioIn(ServiceCtx context, out string outputDeviceName, out AudioOutputConfiguration outputConfiguration, out IAudioIn obj, string inputDeviceName, ref AudioInputConfiguration parameter, ulong appletResourceUserId, uint processHandle);
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManagerForApplet.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManagerForApplet.cs
index 37d9a8fe..1735768c 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManagerForApplet.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManagerForApplet.cs
@@ -5,4 +5,4 @@
{
public IAudioInManagerForApplet(ServiceCtx context) { }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManagerForDebugger.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManagerForDebugger.cs
index 1a497efb..ebdcfd8c 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManagerForDebugger.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioInManagerForDebugger.cs
@@ -5,4 +5,4 @@
{
public IAudioInManagerForDebugger(ServiceCtx context) { }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioOutManagerForApplet.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioOutManagerForApplet.cs
index 4b41b0cf..1c3502d6 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioOutManagerForApplet.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioOutManagerForApplet.cs
@@ -5,4 +5,4 @@
{
public IAudioOutManagerForApplet(ServiceCtx context) { }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioOutManagerForDebugger.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioOutManagerForDebugger.cs
index 41cde972..1da017cb 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioOutManagerForDebugger.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioOutManagerForDebugger.cs
@@ -5,4 +5,4 @@
{
public IAudioOutManagerForDebugger(ServiceCtx context) { }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioRendererManagerForApplet.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioRendererManagerForApplet.cs
index ca5768cc..28aa6d8c 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioRendererManagerForApplet.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioRendererManagerForApplet.cs
@@ -5,4 +5,4 @@
{
public IAudioRendererManagerForApplet(ServiceCtx context) { }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioRendererManagerForDebugger.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioRendererManagerForDebugger.cs
index a970ae45..50754f8a 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioRendererManagerForDebugger.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioRendererManagerForDebugger.cs
@@ -5,4 +5,4 @@
{
public IAudioRendererManagerForDebugger(ServiceCtx context) { }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioSnoopManager.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioSnoopManager.cs
index 59e3ad09..73bc629f 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IAudioSnoopManager.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IAudioSnoopManager.cs
@@ -5,4 +5,4 @@
{
public IAudioSnoopManager(ServiceCtx context) { }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManager.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManager.cs
index 01435008..56647d04 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManager.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManager.cs
@@ -5,4 +5,4 @@
{
public IFinalOutputRecorderManager(ServiceCtx context) { }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManagerForApplet.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManagerForApplet.cs
index d8fd270d..6dfd5f96 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManagerForApplet.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManagerForApplet.cs
@@ -5,4 +5,4 @@
{
public IFinalOutputRecorderManagerForApplet(ServiceCtx context) { }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManagerForDebugger.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManagerForDebugger.cs
index a8ec51ee..653ab598 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManagerForDebugger.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IFinalOutputRecorderManagerForDebugger.cs
@@ -5,4 +5,4 @@
{
public IFinalOutputRecorderManagerForDebugger(ServiceCtx context) { }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/IHardwareOpusDecoderManager.cs b/src/Ryujinx.HLE/HOS/Services/Audio/IHardwareOpusDecoderManager.cs
index 8df8a38c..b69a2392 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/IHardwareOpusDecoderManager.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/IHardwareOpusDecoderManager.cs
@@ -14,7 +14,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
// Initialize(bytes<8, 4>, u32, handle<copy>) -> object<nn::codec::detail::IHardwareOpusDecoder>
public ResultCode Initialize(ServiceCtx context)
{
- int sampleRate = context.RequestData.ReadInt32();
+ int sampleRate = context.RequestData.ReadInt32();
int channelsCount = context.RequestData.ReadInt32();
MakeObject(context, new IHardwareOpusDecoder(sampleRate, channelsCount, OpusDecoderFlags.None));
@@ -29,7 +29,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
// GetWorkBufferSize(bytes<8, 4>) -> u32
public ResultCode GetWorkBufferSize(ServiceCtx context)
{
- int sampleRate = context.RequestData.ReadInt32();
+ int sampleRate = context.RequestData.ReadInt32();
int channelsCount = context.RequestData.ReadInt32();
int opusDecoderSize = GetOpusDecoderSize(channelsCount);
@@ -196,10 +196,10 @@ namespace Ryujinx.HLE.HOS.Services.Audio
private static int GetCeltDecoderSize(int channelsCount)
{
const int DecodeBufferSize = 0x2030;
- const int Overlap = 120;
- const int EBandsCount = 21;
+ const int Overlap = 120;
+ const int EBandsCount = 21;
return (DecodeBufferSize + Overlap * 4) * channelsCount + EBandsCount * 16 + 0x50;
}
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/ResultCode.cs b/src/Ryujinx.HLE/HOS/Services/Audio/ResultCode.cs
index fd2091c2..c1d49109 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/ResultCode.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/ResultCode.cs
@@ -2,20 +2,20 @@ namespace Ryujinx.HLE.HOS.Services.Audio
{
enum ResultCode
{
- ModuleId = 153,
+ ModuleId = 153,
ErrorCodeShift = 9,
Success = 0,
- DeviceNotFound = (1 << ErrorCodeShift) | ModuleId,
- UnsupportedRevision = (2 << ErrorCodeShift) | ModuleId,
+ DeviceNotFound = (1 << ErrorCodeShift) | ModuleId,
+ UnsupportedRevision = (2 << ErrorCodeShift) | ModuleId,
UnsupportedSampleRate = (3 << ErrorCodeShift) | ModuleId,
- BufferSizeTooSmall = (4 << ErrorCodeShift) | ModuleId,
- OpusInvalidInput = (6 << ErrorCodeShift) | ModuleId,
- TooManyBuffersInUse = (8 << ErrorCodeShift) | ModuleId,
- InvalidChannelCount = (10 << ErrorCodeShift) | ModuleId,
- InvalidOperation = (513 << ErrorCodeShift) | ModuleId,
- InvalidHandle = (1536 << ErrorCodeShift) | ModuleId,
- OutputAlreadyStarted = (1540 << ErrorCodeShift) | ModuleId
+ BufferSizeTooSmall = (4 << ErrorCodeShift) | ModuleId,
+ OpusInvalidInput = (6 << ErrorCodeShift) | ModuleId,
+ TooManyBuffersInUse = (8 << ErrorCodeShift) | ModuleId,
+ InvalidChannelCount = (10 << ErrorCodeShift) | ModuleId,
+ InvalidOperation = (513 << ErrorCodeShift) | ModuleId,
+ InvalidHandle = (1536 << ErrorCodeShift) | ModuleId,
+ OutputAlreadyStarted = (1540 << ErrorCodeShift) | ModuleId,
}
}
diff --git a/src/Ryujinx.HLE/HOS/Services/Audio/Types/OpusPacketHeader.cs b/src/Ryujinx.HLE/HOS/Services/Audio/Types/OpusPacketHeader.cs
index 5ae0eb1e..2c547827 100644
--- a/src/Ryujinx.HLE/HOS/Services/Audio/Types/OpusPacketHeader.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Audio/Types/OpusPacketHeader.cs
@@ -14,7 +14,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.Types
{
OpusPacketHeader header = MemoryMarshal.Cast<byte, OpusPacketHeader>(data)[0];
- header.length = BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(header.length) : header.length;
+ header.length = BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(header.length) : header.length;
header.finalRange = BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(header.finalRange) : header.finalRange;
return header;