Commit 2e22affe authored by David Reid's avatar David Reid

Update ma_audio_buffer_ref_init() to take a buffer.

This saves a mandatory call to ma_audio_buffer_ref_set_data(). With
this change, an ma_audio_buffer_ref_init() call is all that is required
to initialize a usable data source.
parent 6a8d450e
......@@ -5824,7 +5824,7 @@ typedef struct
const void* pData;
} ma_audio_buffer_ref;
MA_API ma_result ma_audio_buffer_ref_init(ma_format format, ma_uint32 channels, ma_audio_buffer_ref* pAudioBufferRef);
MA_API ma_result ma_audio_buffer_ref_init(ma_format format, ma_uint32 channels, const void* pData, ma_uint64 sizeInFrames, ma_audio_buffer_ref* pAudioBufferRef);
MA_API ma_result ma_audio_buffer_ref_set_data(ma_audio_buffer_ref* pAudioBufferRef, const void* pData, ma_uint64 sizeInFrames);
MA_API ma_uint64 ma_audio_buffer_ref_read_pcm_frames(ma_audio_buffer_ref* pAudioBufferRef, void* pFramesOut, ma_uint64 frameCount, ma_bool32 loop);
MA_API ma_result ma_audio_buffer_ref_seek_to_pcm_frame(ma_audio_buffer_ref* pAudioBufferRef, ma_uint64 frameIndex);
......@@ -43393,7 +43393,7 @@ static ma_result ma_audio_buffer_ref__data_source_on_get_length(ma_data_source*
return MA_SUCCESS;
}
MA_API ma_result ma_audio_buffer_ref_init(ma_format format, ma_uint32 channels, ma_audio_buffer_ref* pAudioBufferRef)
MA_API ma_result ma_audio_buffer_ref_init(ma_format format, ma_uint32 channels, const void* pData, ma_uint64 sizeInFrames, ma_audio_buffer_ref* pAudioBufferRef)
{
if (pAudioBufferRef == NULL) {
return MA_INVALID_ARGS;
......@@ -43411,8 +43411,8 @@ MA_API ma_result ma_audio_buffer_ref_init(ma_format format, ma_uint32 channels,
pAudioBufferRef->format = format;
pAudioBufferRef->channels = channels;
pAudioBufferRef->cursor = 0;
pAudioBufferRef->sizeInFrames = 0;
pAudioBufferRef->pData = NULL;
pAudioBufferRef->sizeInFrames = sizeInFrames;
pAudioBufferRef->pData = pData;
return MA_SUCCESS;
}
......@@ -43604,7 +43604,7 @@ static ma_result ma_audio_buffer_init_ex(const ma_audio_buffer_config* pConfig,
return MA_INVALID_ARGS; /* Not allowing buffer sizes of 0 frames. */
}
result = ma_audio_buffer_ref_init(pConfig->format, pConfig->channels, &pAudioBuffer->ref);
result = ma_audio_buffer_ref_init(pConfig->format, pConfig->channels, NULL, 0, &pAudioBuffer->ref);
if (result != MA_SUCCESS) {
return result;
}
......@@ -87,7 +87,7 @@ int main(int argc, char** argv)
/* Source/carrier. Attached to input bus 0 of the vocoder node. */
result = ma_audio_buffer_ref_init(device.capture.format, device.capture.channels, &g_sourceData);
result = ma_audio_buffer_ref_init(device.capture.format, device.capture.channels, NULL, 0, &g_sourceData);
if (result != MA_SUCCESS) {
printf("Failed to initialize audio buffer for source.");
goto done2;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment