diff --git a/miniaudio.h b/miniaudio.h index ba50a95c..525afbd9 100644 --- a/miniaudio.h +++ b/miniaudio.h @@ -52450,6 +52450,19 @@ MA_API void ma_deinterleave_pcm_frames(ma_format format, ma_uint32 channels, ma_ /* For efficiency we do this per format. */ switch (format) { + case ma_format_u8: + { + const ma_uint8* pSrcU8 = (const ma_uint8*)pInterleavedPCMFrames; + ma_uint64 iPCMFrame; + for (iPCMFrame = 0; iPCMFrame < frameCount; ++iPCMFrame) { + ma_uint32 iChannel; + for (iChannel = 0; iChannel < channels; ++iChannel) { + ma_uint8* pDstU8 = (ma_uint8*)ppDeinterleavedPCMFrames[iChannel]; + pDstU8[iPCMFrame] = pSrcU8[iPCMFrame*channels+iChannel]; + } + } + } break; + case ma_format_s16: { const ma_int16* pSrcS16 = (const ma_int16*)pInterleavedPCMFrames;