From 1b419c7cfcd133c1fd5e8849f5779128c8d2458f Mon Sep 17 00:00:00 2001 From: SuuperW Date: Wed, 25 Mar 2020 13:52:50 -0500 Subject: [PATCH] fix an audio issue --- BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs | 1 + .../Consoles/Nintendo/NDS/MelonDS_SoundProvider.cs | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs index 7900237d59..4db37790c8 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs @@ -101,6 +101,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS ControllerDefinition.FloatRanges.Add(new ControllerDefinition.AxisRange(0, 96, 191)); CoreComm = comm; + resampler = new SpeexResampler(SpeexResampler.Quality.QUALITY_DEFAULT, 32768, 44100, 32768, 44100); SetUpFiles(); if (!Init()) diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS_SoundProvider.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS_SoundProvider.cs index 68f7373bf4..f252314ed9 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS_SoundProvider.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS_SoundProvider.cs @@ -7,6 +7,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS { unsafe partial class MelonDS : ISoundProvider { + SpeexResampler resampler; + public bool CanProvideAsync => false; public SyncSoundMode SyncMode => SyncSoundMode.Sync; @@ -29,6 +31,9 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS { GetSamples(data, nsamp); } + // BizHawk requires a sample rate of 44100 Hz. + resampler.EnqueueSamples(samples, nsamp); + resampler.GetSamplesSync(out samples, out nsamp); } public void SetSyncMode(SyncSoundMode mode)