Commit 89734691 authored by David Reid's avatar David Reid

Simplify the data source config.

parent 11acb0ca
...@@ -5902,11 +5902,6 @@ typedef ma_data_source* (* ma_data_source_get_next_proc)(ma_data_source* pDataSo ...@@ -5902,11 +5902,6 @@ typedef ma_data_source* (* ma_data_source_get_next_proc)(ma_data_source* pDataSo
typedef struct typedef struct
{ {
const ma_data_source_vtable* vtable; /* Can be null, which is useful for proxies. */ const ma_data_source_vtable* vtable; /* Can be null, which is useful for proxies. */
ma_uint64 rangeBegInFrames;
ma_uint64 rangeEndInFrames; /* Set to -1 for unranged (default). */
ma_data_source* pCurrent; /* When non-NULL, the data source being initialized will act as a proxy and will route all operations to pCurrent. Used in conjunction with pNext/onGetNext for seamless chaining. */
ma_data_source* pNext; /* When set to NULL, onGetNext will be used. */
ma_data_source_get_next_proc onGetNext; /* Will be used when pNext is NULL. If both are NULL, no next will be used. */
} ma_data_source_config; } ma_data_source_config;
MA_API ma_data_source_config ma_data_source_config_init(void); MA_API ma_data_source_config ma_data_source_config_init(void);
...@@ -5917,12 +5912,12 @@ typedef struct ...@@ -5917,12 +5912,12 @@ typedef struct
ma_data_source_callbacks cb; /* TODO: Remove this. */ ma_data_source_callbacks cb; /* TODO: Remove this. */
/* Variables below are placeholder and not yet used. */ /* Variables below are placeholder and not yet used. */
const ma_data_source_vtable* vtable; /* Can be NULL, which might be useful for proxy data sources. */ const ma_data_source_vtable* vtable;
ma_uint64 rangeBegInFrames; ma_uint64 rangeBegInFrames;
ma_uint64 rangeEndInFrames; ma_uint64 rangeEndInFrames; /* Set to -1 for unranged (default). */
ma_data_source* pCurrent; ma_data_source* pCurrent; /* When non-NULL, the data source being initialized will act as a proxy and will route all operations to pCurrent. Used in conjunction with pNext/onGetNext for seamless chaining. */
ma_data_source* pNext; ma_data_source* pNext; /* When set to NULL, onGetNext will be used. */
ma_data_source_get_next_proc onGetNext; ma_data_source_get_next_proc onGetNext; /* Will be used when pNext is NULL. If both are NULL, no next will be used. */
} ma_data_source_base; } ma_data_source_base;
MA_API ma_result ma_data_source_init(const ma_data_source_config* pConfig, ma_data_source* pDataSource); MA_API ma_result ma_data_source_init(const ma_data_source_config* pConfig, ma_data_source* pDataSource);
...@@ -43145,7 +43140,6 @@ MA_API ma_data_source_config ma_data_source_config_init(void) ...@@ -43145,7 +43140,6 @@ MA_API ma_data_source_config ma_data_source_config_init(void)
ma_data_source_config config; ma_data_source_config config;
MA_ZERO_OBJECT(&config); MA_ZERO_OBJECT(&config);
config.rangeEndInFrames = ~((ma_uint64)0);
return config; return config;
} }
...@@ -43166,11 +43160,11 @@ MA_API ma_result ma_data_source_init(const ma_data_source_config* pConfig, ma_da ...@@ -43166,11 +43160,11 @@ MA_API ma_result ma_data_source_init(const ma_data_source_config* pConfig, ma_da
} }
pDataSourceBase->vtable = pConfig->vtable; pDataSourceBase->vtable = pConfig->vtable;
pDataSourceBase->rangeBegInFrames = pConfig->rangeBegInFrames; pDataSourceBase->rangeBegInFrames = 0;
pDataSourceBase->rangeEndInFrames = pConfig->rangeEndInFrames; pDataSourceBase->rangeEndInFrames = ~((ma_uint64)0);
pDataSourceBase->pCurrent = pConfig->pCurrent; pDataSourceBase->pCurrent = NULL;
pDataSourceBase->pNext = pConfig->pNext; pDataSourceBase->pNext = NULL;
pDataSourceBase->onGetNext = pConfig->onGetNext; pDataSourceBase->onGetNext = NULL;
/* Compatibility: Need to make a copy of the callbacks. This will be removed in version 0.11. */ /* Compatibility: Need to make a copy of the callbacks. This will be removed in version 0.11. */
if (pConfig->vtable != NULL) { if (pConfig->vtable != NULL) {
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