ryujinx/Ryujinx.Audio/Renderer/Utils/SplitterHardwareDevice.cs
Mary-nyan 1825bd87b4
misc: Reformat Ryujinx.Audio with dotnet-format (#3485)
This is the first commit of a series of reformat around the codebase as
discussed internally some weeks ago.

This project being one that isn't touched that much, it shouldn't cause
conflict with any opened PRs.
2022-07-25 15:46:33 -03:00

58 lines
1.4 KiB
C#

using Ryujinx.Audio.Integration;
using System;
namespace Ryujinx.Audio.Renderer.Utils
{
public class SplitterHardwareDevice : IHardwareDevice
{
private IHardwareDevice _baseDevice;
private IHardwareDevice _secondaryDevice;
public SplitterHardwareDevice(IHardwareDevice baseDevice, IHardwareDevice secondaryDevice)
{
_baseDevice = baseDevice;
_secondaryDevice = secondaryDevice;
}
public void AppendBuffer(ReadOnlySpan<short> data, uint channelCount)
{
_baseDevice.AppendBuffer(data, channelCount);
_secondaryDevice?.AppendBuffer(data, channelCount);
}
public void SetVolume(float volume)
{
_baseDevice.SetVolume(volume);
_secondaryDevice.SetVolume(volume);
}
public float GetVolume()
{
return _baseDevice.GetVolume();
}
public uint GetChannelCount()
{
return _baseDevice.GetChannelCount();
}
public uint GetSampleRate()
{
return _baseDevice.GetSampleRate();
}
public void Dispose()
{
Dispose(true);
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
_baseDevice.Dispose();
_secondaryDevice?.Dispose();
}
}
}
}