7 #include "IDataSourceFactory.h" 9 #if CAUDIO_COMPILE_WITH_FILE_SOURCE == 1 11 #include "cFileSource.h" 12 #include "cMemorySource.h" 17 class cFileSourceFactory :
public IDataSourceFactory
20 cFileSourceFactory() { }
21 virtual ~cFileSourceFactory() { }
23 virtual IDataSource* CreateDataSource(
const char* filename,
bool streamingRequested)
25 IDataSource* source = CAUDIO_NEW cFileSource(filename);
27 if(!streamingRequested && source && source->isValid())
30 int length = source->getSize();
31 char* tempbuf = (
char*)CAUDIO_MALLOC(length);
34 source->read(tempbuf, length);
35 IDataSource* memSource = CAUDIO_NEW cMemorySource(tempbuf, length,
true);
38 if(memSource && memSource->isValid())
Main namespace for the entire cAudio library.