mirror of
https://git.ryujinx.app/kenji-nx/ryujinx.git
synced 2025-12-12 10:37:06 +00:00
audio effects fix and audio object pooling
Revert and reimplement Float BiquadFilterEffect support, fixes infinite load issues in a few games like Splatoon 3. Fix incorrect string check with the new thread naming system. Implement object pooling for all Audio Commands and a few other audio related objects and use a growing error list for updating wave buffers instead of always allocating space for 8 errors.
This commit is contained in:
parent
86f47b8333
commit
cdbe568620
43 changed files with 763 additions and 602 deletions
|
|
@ -11,18 +11,23 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
{
|
||||
public bool Enabled { get; set; }
|
||||
|
||||
public int NodeId { get; }
|
||||
public int NodeId { get; private set; }
|
||||
|
||||
public CommandType CommandType => CommandType.Volume;
|
||||
|
||||
public uint EstimatedProcessingTime { get; set; }
|
||||
|
||||
public ushort InputBufferIndex { get; }
|
||||
public ushort OutputBufferIndex { get; }
|
||||
public ushort InputBufferIndex { get; private set; }
|
||||
public ushort OutputBufferIndex { get; private set; }
|
||||
|
||||
public float Volume { get; }
|
||||
public float Volume { get; private set; }
|
||||
|
||||
public VolumeCommand(float volume, uint bufferIndex, int nodeId)
|
||||
public VolumeCommand()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public VolumeCommand Initialize(float volume, uint bufferIndex, int nodeId)
|
||||
{
|
||||
Enabled = true;
|
||||
NodeId = nodeId;
|
||||
|
|
@ -31,6 +36,8 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
OutputBufferIndex = (ushort)bufferIndex;
|
||||
|
||||
Volume = volume;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue