Misc audio fixes (#1348)

Changes:

    Implement software surround downmixing (fix #796).
    Fix a crash when no audio renderer were created when stopping emulation.

NOTE: This PR also disable support of 5.1 surround on the OpenAL backend as we cannot detect if the hardware directly support it. (the downmixing applied by OpenAL on Windows is terribly slow)
This commit is contained in:
Mary 2020-08-18 21:03:55 +02:00 committed by GitHub
parent 698ed6c622
commit 2c17f709d2
11 changed files with 302 additions and 30 deletions

View file

@ -54,6 +54,11 @@ namespace Ryujinx.Audio.Renderer.Dsp
private long _playbackEnds;
private ManualResetEvent _event;
public AudioProcessor()
{
_event = new ManualResetEvent(false);
}
public void SetOutputDevices(HardwareDevice[] outputDevices)
{
_outputDevices = outputDevices;
@ -63,7 +68,7 @@ namespace Ryujinx.Audio.Renderer.Dsp
{
_mailbox = new Mailbox<MailboxMessage>();
_sessionCommandList = new RendererSession[RendererConstants.AudioRendererSessionCountMax];
_event = new ManualResetEvent(false);
_event.Reset();
_lastTime = PerformanceCounter.ElapsedNanoseconds;
StartThread();