Libretro: Use retro_audio_sample_batch_t instead of retro_audio_sample_t

This commit is contained in:
Sour 2018-06-10 15:11:24 -04:00
parent 7224169d5f
commit 4e2f9b403b
2 changed files with 6 additions and 8 deletions

View file

@ -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)

View file

@ -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)