//
// Copyright (c) 2019-2021 Ryujinx
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see .
//
using Ryujinx.Common.Memory;
using System.Runtime.InteropServices;
namespace Ryujinx.Audio.Renderer.Parameter.Effect
{
///
/// for .
///
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct AuxiliaryBufferParameter
{
///
/// The input channel indices that will be used by the to write data to .
///
public Array24 Input;
///
/// The output channel indices that will be used by the to read data from .
///
public Array24 Output;
///
/// The total channel count used.
///
public uint ChannelCount;
///
/// The target sample rate.
///
public uint SampleRate;
///
/// The buffer storage total size.
///
public uint BufferStorageSize;
///
/// The maximum number of channels supported.
///
/// This is unused.
public uint ChannelCountMax;
///
/// The address of the start of the region containing two followed by the data that will be written by the .
///
public ulong SendBufferInfoAddress;
///
/// The address of the start of the region containling data that will be written by the .
///
/// This is unused.
public ulong SendBufferStorageAddress;
///
/// The address of the start of the region containing two followed by the data that will be read by the .
///
public ulong ReturnBufferInfoAddress;
///
/// The address of the start of the region containling data that will be read by the .
///
/// This is unused.
public ulong ReturnBufferStorageAddress;
///
/// Size of a sample of the mix buffer.
///
/// This is unused.
public uint MixBufferSampleSize;
///
/// The total count of sample that can be stored.
///
/// This is unused.
public uint TotalSampleCount;
///
/// The count of sample of the mix buffer.
///
/// This is unused.
public uint MixBufferSampleCount;
}
}