diff --git a/Ryujinx.Audio.Renderer/Dsp/Command/DataSourceVersion2Command.cs b/Ryujinx.Audio.Renderer/Dsp/Command/DataSourceVersion2Command.cs index 7b68ff5dc5..e60a126fcf 100644 --- a/Ryujinx.Audio.Renderer/Dsp/Command/DataSourceVersion2Command.cs +++ b/Ryujinx.Audio.Renderer/Dsp/Command/DataSourceVersion2Command.cs @@ -63,7 +63,7 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command SrcQuality = serverState.SrcQuality; CommandType = GetCommandTypeBySampleFormat(SampleFormat); - OutputBufferIndex = outputBufferIndex; + OutputBufferIndex = (ushort)(channelIndex + outputBufferIndex); SampleRate = serverState.SampleRate; Pitch = serverState.Pitch; diff --git a/Ryujinx.Audio.Renderer/Server/CommandGenerator.cs b/Ryujinx.Audio.Renderer/Server/CommandGenerator.cs index 41f1c3342c..00fddefa81 100644 --- a/Ryujinx.Audio.Renderer/Server/CommandGenerator.cs +++ b/Ryujinx.Audio.Renderer/Server/CommandGenerator.cs @@ -107,6 +107,8 @@ namespace Ryujinx.Audio.Renderer.Server if (!voiceState.WasPlaying) { + Debug.Assert(voiceState.SampleFormat != SampleFormat.Adpcm || channelIndex == 0); + if (_rendererContext.BehaviourContext.IsWaveBufferVersion2Supported()) { _commandBuffer.GenerateDataSourceVersion2(ref voiceState,