From b9cb2db8f4654f4fb0ca4fab94048bdd4905d6b2 Mon Sep 17 00:00:00 2001 From: David Reid Date: Thu, 17 Mar 2022 20:17:18 +1000 Subject: [PATCH] Fix a bug in ma_audio_buffer_ref_read_pcm_frames(). The bug here is the pFramesOut pointer was not getting offset correctly when looping. Public issue https://github.com/mackron/miniaudio/issues/442 --- miniaudio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/miniaudio.h b/miniaudio.h index 62857a1b..89f6c6db 100644 --- a/miniaudio.h +++ b/miniaudio.h @@ -55308,7 +55308,7 @@ MA_API ma_uint64 ma_audio_buffer_ref_read_pcm_frames(ma_audio_buffer_ref* pAudio } if (pFramesOut != NULL) { - ma_copy_pcm_frames(pFramesOut, ma_offset_ptr(pAudioBufferRef->pData, pAudioBufferRef->cursor * ma_get_bytes_per_frame(pAudioBufferRef->format, pAudioBufferRef->channels)), framesToRead, pAudioBufferRef->format, pAudioBufferRef->channels); + ma_copy_pcm_frames(ma_offset_ptr(pFramesOut, totalFramesRead * ma_get_bytes_per_frame(pAudioBufferRef->format, pAudioBufferRef->channels)), ma_offset_ptr(pAudioBufferRef->pData, pAudioBufferRef->cursor * ma_get_bytes_per_frame(pAudioBufferRef->format, pAudioBufferRef->channels)), framesToRead, pAudioBufferRef->format, pAudioBufferRef->channels); } totalFramesRead += framesToRead;