From 4e2f9b403ba181ee06f348868c723a70ad94fce7 Mon Sep 17 00:00:00 2001 From: Sour Date: Sun, 10 Jun 2018 15:11:24 -0400 Subject: [PATCH] Libretro: Use retro_audio_sample_batch_t instead of retro_audio_sample_t --- Libretro/LibretroSoundManager.h | 12 +++++------- Libretro/libretro.cpp | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Libretro/LibretroSoundManager.h b/Libretro/LibretroSoundManager.h index 28663e26..473aec54 100644 --- a/Libretro/LibretroSoundManager.h +++ b/Libretro/LibretroSoundManager.h @@ -7,7 +7,7 @@ class LibretroSoundManager : public IAudioDevice { private: - retro_audio_sample_t _sendAudioSample = nullptr; + retro_audio_sample_batch_t _sendAudioBuffer = nullptr; bool _skipMode = false; public: @@ -24,16 +24,14 @@ public: // Inherited via IAudioDevice virtual void PlayBuffer(int16_t *soundBuffer, uint32_t sampleCount, uint32_t sampleRate, bool isStereo) override { - if(!_skipMode && _sendAudioSample) { - for(uint32_t i = 0; i < sampleCount; i++) { - _sendAudioSample(soundBuffer[i * 2], soundBuffer[i * 2 + 1]); - } + if(!_skipMode && _sendAudioBuffer) { + _sendAudioBuffer(soundBuffer, sampleCount); } } - void SetSendAudioSample(retro_audio_sample_t sendAudioSample) + void SetSendAudioBuffer(retro_audio_sample_batch_t sendAudioBuffer) { - _sendAudioSample = sendAudioSample; + _sendAudioBuffer = sendAudioBuffer; } void SetSkipMode(bool skip) diff --git a/Libretro/libretro.cpp b/Libretro/libretro.cpp index 748101f2..35e1fde7 100644 --- a/Libretro/libretro.cpp +++ b/Libretro/libretro.cpp @@ -233,11 +233,11 @@ extern "C" { RETRO_API void retro_set_audio_sample(retro_audio_sample_t sendAudioSample) { - _soundManager->SetSendAudioSample(sendAudioSample); } RETRO_API void retro_set_audio_sample_batch(retro_audio_sample_batch_t audioSampleBatch) { + _soundManager->SetSendAudioBuffer(audioSampleBatch); } RETRO_API void retro_set_input_poll(retro_input_poll_t pollInput)