mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-30 04:04:05 +02:00
API CHANGE: Add an onSizeof callback to ma_data_source_vtable.
This should return the size of the implementations struct. For example, `ma_decoder` would return `sizeof(ma_decoder)`. This is in preparation for future work to support copying data sources.
This commit is contained in:
@@ -10,6 +10,11 @@
|
|||||||
#include <string.h> /* For memset(). */
|
#include <string.h> /* For memset(). */
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
|
static size_t ma_libopus_ds_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_libopus);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_libopus_ds_uninit(ma_data_source* pDataSource)
|
static void ma_libopus_ds_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_libopus_uninit((ma_libopus*)pDataSource);
|
ma_libopus_uninit((ma_libopus*)pDataSource);
|
||||||
@@ -42,6 +47,7 @@ static ma_result ma_libopus_ds_get_length(ma_data_source* pDataSource, ma_uint64
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_libopus =
|
static ma_data_source_vtable ma_gDataSourceVTable_libopus =
|
||||||
{
|
{
|
||||||
|
ma_libopus_ds_sizeof,
|
||||||
ma_libopus_ds_uninit,
|
ma_libopus_ds_uninit,
|
||||||
ma_libopus_ds_read,
|
ma_libopus_ds_read,
|
||||||
ma_libopus_ds_seek,
|
ma_libopus_ds_seek,
|
||||||
|
|||||||
@@ -13,6 +13,11 @@
|
|||||||
#include <string.h> /* For memset(). */
|
#include <string.h> /* For memset(). */
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
|
static size_t ma_libvorbis_ds_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_libvorbis);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_libvorbis_ds_uninit(ma_data_source* pDataSource)
|
static void ma_libvorbis_ds_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_libvorbis_uninit((ma_libvorbis*)pDataSource);
|
ma_libvorbis_uninit((ma_libvorbis*)pDataSource);
|
||||||
@@ -45,6 +50,7 @@ static ma_result ma_libvorbis_ds_get_length(ma_data_source* pDataSource, ma_uint
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_libvorbis =
|
static ma_data_source_vtable ma_gDataSourceVTable_libvorbis =
|
||||||
{
|
{
|
||||||
|
ma_libvorbis_ds_sizeof,
|
||||||
ma_libvorbis_ds_uninit,
|
ma_libvorbis_ds_uninit,
|
||||||
ma_libvorbis_ds_read,
|
ma_libvorbis_ds_read,
|
||||||
ma_libvorbis_ds_seek,
|
ma_libvorbis_ds_seek,
|
||||||
|
|||||||
+82
-1
@@ -6223,6 +6223,7 @@ typedef void ma_data_source;
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
size_t (* onSizeof )(void); /* Should return the size of the the data source implementation's struct. For example, ma_decoder would return sizeof(ma_decoder). */
|
||||||
void (* onUninit )(ma_data_source* pDataSource);
|
void (* onUninit )(ma_data_source* pDataSource);
|
||||||
ma_result (* onRead )(ma_data_source* pDataSource, void* pFramesOut, ma_uint64 frameCount, ma_uint64* pFramesRead);
|
ma_result (* onRead )(ma_data_source* pDataSource, void* pFramesOut, ma_uint64 frameCount, ma_uint64* pFramesRead);
|
||||||
ma_result (* onSeek )(ma_data_source* pDataSource, ma_uint64 frameIndex);
|
ma_result (* onSeek )(ma_data_source* pDataSource, ma_uint64 frameIndex);
|
||||||
@@ -68305,6 +68306,11 @@ MA_API ma_uint32 ma_ring_buffer_capacity(const ma_ring_buffer* pRingBuffer)
|
|||||||
/* END ma_ring_buffer.c */
|
/* END ma_ring_buffer.c */
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_audio_ring_buffer__data_source_on_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_audio_ring_buffer);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_audio_ring_buffer__data_source_on_uninit(ma_data_source* pDataSource)
|
static void ma_audio_ring_buffer__data_source_on_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_audio_ring_buffer_uninit((ma_audio_ring_buffer*)pDataSource);
|
ma_audio_ring_buffer_uninit((ma_audio_ring_buffer*)pDataSource);
|
||||||
@@ -68369,6 +68375,7 @@ static ma_result ma_audio_ring_buffer__data_source_on_get_length(ma_data_source*
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_AudioRingBuffer =
|
static ma_data_source_vtable ma_gDataSourceVTable_AudioRingBuffer =
|
||||||
{
|
{
|
||||||
|
ma_audio_ring_buffer__data_source_on_sizeof,
|
||||||
ma_audio_ring_buffer__data_source_on_uninit,
|
ma_audio_ring_buffer__data_source_on_uninit,
|
||||||
ma_audio_ring_buffer__data_source_on_read,
|
ma_audio_ring_buffer__data_source_on_read,
|
||||||
NULL, /* No seeking in ring buffers. */
|
NULL, /* No seeking in ring buffers. */
|
||||||
@@ -69754,6 +69761,11 @@ MA_API ma_data_source_get_next_proc ma_data_source_get_next_callback(const ma_da
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_audio_buffer_ref__data_source_on_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_audio_buffer_ref);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_audio_buffer_ref__data_source_on_uninit(ma_data_source* pDataSource)
|
static void ma_audio_buffer_ref__data_source_on_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_audio_buffer_ref_uninit((ma_audio_buffer_ref*)pDataSource);
|
ma_audio_buffer_ref_uninit((ma_audio_buffer_ref*)pDataSource);
|
||||||
@@ -69801,6 +69813,7 @@ static ma_result ma_audio_buffer_ref__data_source_on_get_length(ma_data_source*
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_AudioBufferRef =
|
static ma_data_source_vtable ma_gDataSourceVTable_AudioBufferRef =
|
||||||
{
|
{
|
||||||
|
ma_audio_buffer_ref__data_source_on_sizeof,
|
||||||
ma_audio_buffer_ref__data_source_on_uninit,
|
ma_audio_buffer_ref__data_source_on_uninit,
|
||||||
ma_audio_buffer_ref__data_source_on_read,
|
ma_audio_buffer_ref__data_source_on_read,
|
||||||
ma_audio_buffer_ref__data_source_on_seek,
|
ma_audio_buffer_ref__data_source_on_seek,
|
||||||
@@ -70448,6 +70461,11 @@ MA_API ma_paged_audio_buffer_config ma_paged_audio_buffer_config_init(ma_paged_a
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_paged_audio_buffer__data_source_on_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_paged_audio_buffer);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_paged_audio_buffer__data_source_on_uninit(ma_data_source* pDataSource)
|
static void ma_paged_audio_buffer__data_source_on_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_paged_audio_buffer_uninit((ma_paged_audio_buffer*)pDataSource);
|
ma_paged_audio_buffer_uninit((ma_paged_audio_buffer*)pDataSource);
|
||||||
@@ -70487,6 +70505,7 @@ static ma_result ma_paged_audio_buffer__data_source_on_get_length(ma_data_source
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_PagedAudioBuffer =
|
static ma_data_source_vtable ma_gDataSourceVTable_PagedAudioBuffer =
|
||||||
{
|
{
|
||||||
|
ma_paged_audio_buffer__data_source_on_sizeof,
|
||||||
ma_paged_audio_buffer__data_source_on_uninit,
|
ma_paged_audio_buffer__data_source_on_uninit,
|
||||||
ma_paged_audio_buffer__data_source_on_read,
|
ma_paged_audio_buffer__data_source_on_read,
|
||||||
ma_paged_audio_buffer__data_source_on_seek,
|
ma_paged_audio_buffer__data_source_on_seek,
|
||||||
@@ -72636,6 +72655,11 @@ MA_API ma_result ma_wav_get_cursor_in_pcm_frames(ma_wav* pWav, ma_uint64* pCurso
|
|||||||
MA_API ma_result ma_wav_get_length_in_pcm_frames(ma_wav* pWav, ma_uint64* pLength);
|
MA_API ma_result ma_wav_get_length_in_pcm_frames(ma_wav* pWav, ma_uint64* pLength);
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_wav_ds_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_wav);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_wav_ds_uninit(ma_data_source* pDataSource)
|
static void ma_wav_ds_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_wav_uninit((ma_wav*)pDataSource);
|
ma_wav_uninit((ma_wav*)pDataSource);
|
||||||
@@ -72668,6 +72692,7 @@ static ma_result ma_wav_ds_get_length(ma_data_source* pDataSource, ma_uint64* pL
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_WAV =
|
static ma_data_source_vtable ma_gDataSourceVTable_WAV =
|
||||||
{
|
{
|
||||||
|
ma_wav_ds_sizeof,
|
||||||
ma_wav_ds_uninit,
|
ma_wav_ds_uninit,
|
||||||
ma_wav_ds_read,
|
ma_wav_ds_read,
|
||||||
ma_wav_ds_seek,
|
ma_wav_ds_seek,
|
||||||
@@ -73228,6 +73253,11 @@ MA_API ma_result ma_flac_get_cursor_in_pcm_frames(ma_flac* pFlac, ma_uint64* pCu
|
|||||||
MA_API ma_result ma_flac_get_length_in_pcm_frames(ma_flac* pFlac, ma_uint64* pLength);
|
MA_API ma_result ma_flac_get_length_in_pcm_frames(ma_flac* pFlac, ma_uint64* pLength);
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_flac_ds_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_flac);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_flac_ds_uninit(ma_data_source* pDataSource)
|
static void ma_flac_ds_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_flac_uninit((ma_flac*)pDataSource);
|
ma_flac_uninit((ma_flac*)pDataSource);
|
||||||
@@ -73260,6 +73290,7 @@ static ma_result ma_flac_ds_get_length(ma_data_source* pDataSource, ma_uint64* p
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_FLAC =
|
static ma_data_source_vtable ma_gDataSourceVTable_FLAC =
|
||||||
{
|
{
|
||||||
|
ma_flac_ds_sizeof,
|
||||||
ma_flac_ds_uninit,
|
ma_flac_ds_uninit,
|
||||||
ma_flac_ds_read,
|
ma_flac_ds_read,
|
||||||
ma_flac_ds_seek,
|
ma_flac_ds_seek,
|
||||||
@@ -73769,6 +73800,11 @@ MA_API ma_result ma_mp3_get_cursor_in_pcm_frames(ma_mp3* pMP3, ma_uint64* pCurso
|
|||||||
MA_API ma_result ma_mp3_get_length_in_pcm_frames(ma_mp3* pMP3, ma_uint64* pLength);
|
MA_API ma_result ma_mp3_get_length_in_pcm_frames(ma_mp3* pMP3, ma_uint64* pLength);
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_mp3_ds_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_mp3);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_mp3_ds_uninit(ma_data_source* pDataSource)
|
static void ma_mp3_ds_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_mp3_uninit((ma_mp3*)pDataSource);
|
ma_mp3_uninit((ma_mp3*)pDataSource);
|
||||||
@@ -73801,6 +73837,7 @@ static ma_result ma_mp3_ds_get_length(ma_data_source* pDataSource, ma_uint64* pL
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_MP3 =
|
static ma_data_source_vtable ma_gDataSourceVTable_MP3 =
|
||||||
{
|
{
|
||||||
|
ma_mp3_ds_sizeof,
|
||||||
ma_mp3_ds_uninit,
|
ma_mp3_ds_uninit,
|
||||||
ma_mp3_ds_read,
|
ma_mp3_ds_read,
|
||||||
ma_mp3_ds_seek,
|
ma_mp3_ds_seek,
|
||||||
@@ -74377,6 +74414,11 @@ MA_API ma_result ma_stbvorbis_get_cursor_in_pcm_frames(ma_stbvorbis* pVorbis, ma
|
|||||||
MA_API ma_result ma_stbvorbis_get_length_in_pcm_frames(ma_stbvorbis* pVorbis, ma_uint64* pLength);
|
MA_API ma_result ma_stbvorbis_get_length_in_pcm_frames(ma_stbvorbis* pVorbis, ma_uint64* pLength);
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_stbvorbis_ds_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_stbvorbis);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_stbvorbis_ds_uninit(ma_data_source* pDataSource)
|
static void ma_stbvorbis_ds_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_stbvorbis_uninit((ma_stbvorbis*)pDataSource);
|
ma_stbvorbis_uninit((ma_stbvorbis*)pDataSource);
|
||||||
@@ -74409,6 +74451,7 @@ static ma_result ma_stbvorbis_ds_get_length(ma_data_source* pDataSource, ma_uint
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_stbvorbis =
|
static ma_data_source_vtable ma_gDataSourceVTable_stbvorbis =
|
||||||
{
|
{
|
||||||
|
ma_stbvorbis_ds_sizeof,
|
||||||
ma_stbvorbis_ds_uninit,
|
ma_stbvorbis_ds_uninit,
|
||||||
ma_stbvorbis_ds_read,
|
ma_stbvorbis_ds_read,
|
||||||
ma_stbvorbis_ds_seek,
|
ma_stbvorbis_ds_seek,
|
||||||
@@ -75582,6 +75625,12 @@ static void ma_decoder__init_allocation_callbacks(const ma_decoder_config* pConf
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_decoder__data_source_on_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_decoder);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_decoder__data_source_on_uninit(ma_data_source* pDataSource)
|
static void ma_decoder__data_source_on_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_decoder_uninit((ma_decoder*)pDataSource);
|
ma_decoder_uninit((ma_decoder*)pDataSource);
|
||||||
@@ -75614,6 +75663,7 @@ static ma_result ma_decoder__data_source_on_get_length(ma_data_source* pDataSour
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_Decoder =
|
static ma_data_source_vtable ma_gDataSourceVTable_Decoder =
|
||||||
{
|
{
|
||||||
|
ma_decoder__data_source_on_sizeof,
|
||||||
ma_decoder__data_source_on_uninit,
|
ma_decoder__data_source_on_uninit,
|
||||||
ma_decoder__data_source_on_read,
|
ma_decoder__data_source_on_read,
|
||||||
ma_decoder__data_source_on_seek,
|
ma_decoder__data_source_on_seek,
|
||||||
@@ -77011,6 +77061,12 @@ MA_API ma_waveform_config ma_waveform_config_init(ma_format format, ma_uint32 ch
|
|||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_waveform__data_source_on_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_waveform);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_waveform__data_source_on_uninit(ma_data_source* pDataSource)
|
static void ma_waveform__data_source_on_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_waveform_uninit((ma_waveform*)pDataSource);
|
ma_waveform_uninit((ma_waveform*)pDataSource);
|
||||||
@@ -77059,6 +77115,7 @@ static void ma_waveform__update_advance(ma_waveform* pWaveform)
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_Waveform =
|
static ma_data_source_vtable ma_gDataSourceVTable_Waveform =
|
||||||
{
|
{
|
||||||
|
ma_waveform__data_source_on_sizeof,
|
||||||
ma_waveform__data_source_on_uninit,
|
ma_waveform__data_source_on_uninit,
|
||||||
ma_waveform__data_source_on_read,
|
ma_waveform__data_source_on_read,
|
||||||
ma_waveform__data_source_on_seek,
|
ma_waveform__data_source_on_seek,
|
||||||
@@ -77592,6 +77649,11 @@ MA_API ma_noise_config ma_noise_config_init(ma_format format, ma_uint32 channels
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_noise__data_source_on_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_noise);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_noise__data_source_on_uninit(ma_data_source* pDataSource)
|
static void ma_noise__data_source_on_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_noise_uninit((ma_noise*)pDataSource);
|
ma_noise_uninit((ma_noise*)pDataSource);
|
||||||
@@ -77624,6 +77686,7 @@ static ma_result ma_noise__data_source_on_get_data_format(ma_data_source* pDataS
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_Noise =
|
static ma_data_source_vtable ma_gDataSourceVTable_Noise =
|
||||||
{
|
{
|
||||||
|
ma_noise__data_source_on_sizeof,
|
||||||
ma_noise__data_source_on_uninit,
|
ma_noise__data_source_on_uninit,
|
||||||
ma_noise__data_source_on_read,
|
ma_noise__data_source_on_read,
|
||||||
ma_noise__data_source_on_seek, /* No-op for noise. */
|
ma_noise__data_source_on_seek, /* No-op for noise. */
|
||||||
@@ -79915,13 +79978,18 @@ stage2:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static ma_uint32 ma_resource_manager_data_buffer_next_execution_order(ma_resource_manager_data_buffer* pDataBuffer)
|
static ma_uint32 ma_resource_manager_data_buffer_next_execution_order(ma_resource_manager_data_buffer* pDataBuffer)
|
||||||
{
|
{
|
||||||
MA_ASSERT(pDataBuffer != NULL);
|
MA_ASSERT(pDataBuffer != NULL);
|
||||||
return ma_atomic_fetch_add_32(&pDataBuffer->executionCounter, 1);
|
return ma_atomic_fetch_add_32(&pDataBuffer->executionCounter, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_resource_manager_data_buffer_cb__sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_resource_manager_data_buffer);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_resource_manager_data_buffer_cb__uninit(ma_data_source* pDataSource)
|
static void ma_resource_manager_data_buffer_cb__uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_resource_manager_data_buffer_uninit((ma_resource_manager_data_buffer*)pDataSource);
|
ma_resource_manager_data_buffer_uninit((ma_resource_manager_data_buffer*)pDataSource);
|
||||||
@@ -79967,6 +80035,7 @@ static ma_result ma_resource_manager_data_buffer_cb__set_looping(ma_data_source*
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_ResourceManagerDataBuffer =
|
static ma_data_source_vtable ma_gDataSourceVTable_ResourceManagerDataBuffer =
|
||||||
{
|
{
|
||||||
|
ma_resource_manager_data_buffer_cb__sizeof,
|
||||||
ma_resource_manager_data_buffer_cb__uninit,
|
ma_resource_manager_data_buffer_cb__uninit,
|
||||||
ma_resource_manager_data_buffer_cb__read_pcm_frames,
|
ma_resource_manager_data_buffer_cb__read_pcm_frames,
|
||||||
ma_resource_manager_data_buffer_cb__seek_to_pcm_frame,
|
ma_resource_manager_data_buffer_cb__seek_to_pcm_frame,
|
||||||
@@ -80665,6 +80734,11 @@ static ma_uint32 ma_resource_manager_data_stream_seek_counter(const ma_resource_
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_resource_manager_data_stream_cb__sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_resource_manager_data_stream);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_resource_manager_data_stream_cb__uninit(ma_data_source* pDataSource)
|
static void ma_resource_manager_data_stream_cb__uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_resource_manager_data_stream_uninit((ma_resource_manager_data_stream*)pDataSource);
|
ma_resource_manager_data_stream_uninit((ma_resource_manager_data_stream*)pDataSource);
|
||||||
@@ -80707,6 +80781,7 @@ static ma_result ma_resource_manager_data_stream_cb__set_looping(ma_data_source*
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_ResourceManagerDataStream =
|
static ma_data_source_vtable ma_gDataSourceVTable_ResourceManagerDataStream =
|
||||||
{
|
{
|
||||||
|
ma_resource_manager_data_stream_cb__sizeof,
|
||||||
ma_resource_manager_data_stream_cb__uninit,
|
ma_resource_manager_data_stream_cb__uninit,
|
||||||
ma_resource_manager_data_stream_cb__read_pcm_frames,
|
ma_resource_manager_data_stream_cb__read_pcm_frames,
|
||||||
ma_resource_manager_data_stream_cb__seek_to_pcm_frame,
|
ma_resource_manager_data_stream_cb__seek_to_pcm_frame,
|
||||||
@@ -82439,6 +82514,11 @@ static ma_bool32 ma_node_graph_is_reading(ma_node_graph* pNodeGraph)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
static size_t ma_node_graph_data_source__on_sizeof(void)
|
||||||
|
{
|
||||||
|
return sizeof(ma_node_graph);
|
||||||
|
}
|
||||||
|
|
||||||
static void ma_node_graph_data_source__on_uninit(ma_data_source* pDataSource)
|
static void ma_node_graph_data_source__on_uninit(ma_data_source* pDataSource)
|
||||||
{
|
{
|
||||||
ma_node_graph_uninit((ma_node_graph*)pDataSource);
|
ma_node_graph_uninit((ma_node_graph*)pDataSource);
|
||||||
@@ -82480,6 +82560,7 @@ static ma_result ma_node_graph_data_source__on_get_data_format(ma_data_source* p
|
|||||||
|
|
||||||
static ma_data_source_vtable ma_gDataSourceVTable_NodeGraph =
|
static ma_data_source_vtable ma_gDataSourceVTable_NodeGraph =
|
||||||
{
|
{
|
||||||
|
ma_node_graph_data_source__on_sizeof,
|
||||||
ma_node_graph_data_source__on_uninit,
|
ma_node_graph_data_source__on_uninit,
|
||||||
ma_node_graph_data_source__on_read,
|
ma_node_graph_data_source__on_read,
|
||||||
NULL, /* onSeek */
|
NULL, /* onSeek */
|
||||||
|
|||||||
Reference in New Issue
Block a user