Update to move default audio decoder and data source registration to creation of the audio manager. This way, plugins can always override default implementations of the default decoders/sources.

This commit is contained in:
Joshua Jones 2010-02-20 03:19:59 +00:00
parent 62e876ccb2
commit b1f2680420
8 changed files with 22 additions and 18 deletions

View File

@ -22,7 +22,7 @@ int main(int argc, char* argv[])
if(manager)
{
//Allow the user to choose a playback device
cout << "Available Playback Devices: \n";
cout << "\nAvailable Playback Devices: \n";
unsigned int deviceCount = manager->getAvailableDeviceCount();
std::string defaultDeviceName = manager->getDefaultDeviceName();
for(unsigned int i=0; i<deviceCount; ++i)

View File

@ -25,7 +25,7 @@ int main(int argc, char* argv[])
if(manager)
{
//Allow the user to choose a playback device
cout << "Available Playback Devices: \n";
cout << "\nAvailable Playback Devices: \n";
unsigned int deviceCount = manager->getAvailableDeviceCount();
std::string defaultDeviceName = manager->getDefaultDeviceName();
for(unsigned int i=0; i<deviceCount; ++i)

View File

@ -26,7 +26,7 @@ int main(int argc, char* argv[])
if(manager)
{
//Allow the user to choose a playback device
cout << "Available Playback Devices: \n";
cout << "\nAvailable Playback Devices: \n";
unsigned int deviceCount = manager->getAvailableDeviceCount();
std::string defaultDeviceName = manager->getDefaultDeviceName();
for(unsigned int i=0; i<deviceCount; ++i)

View File

@ -17,7 +17,7 @@ const cAudio::AudioFormats CAPTURE_FORMAT = cAudio::EAF_16BIT_MONO;
int main(int argc, char* argv[])
{
//Some fancy text
cout << "cAudio 2.0.0 Tutorial 4: Capturing Audio. \n \n";
cout << "\ncAudio 2.0.0 Tutorial 4: Capturing Audio. \n \n";
std::string formatName;

View File

@ -22,7 +22,7 @@ int main(int argc, char* argv[])
if(manager)
{
//Allow the user to choose a playback device
cout << "Available Playback Devices: \n";
cout << "\nAvailable Playback Devices: \n";
unsigned int deviceCount = manager->getAvailableDeviceCount();
std::string defaultDeviceName = manager->getDefaultDeviceName();
for(unsigned int i=0; i<deviceCount; ++i)

View File

@ -28,7 +28,7 @@ int main(int argc, char* argv[])
if(manager)
{
//Allow the user to choose a playback device
cout << "Available Playback Devices: \n";
cout << "\nAvailable Playback Devices: \n";
unsigned int deviceCount = manager->getAvailableDeviceCount();
std::string defaultDeviceName = manager->getDefaultDeviceName();
for(unsigned int i=0; i<deviceCount; ++i)

View File

@ -35,7 +35,7 @@ int main(int argc, char* argv[])
if(manager)
{
//Allow the user to choose a playback device
cout << "Available Playback Devices: \n";
cout << "\nAvailable Playback Devices: \n";
unsigned int deviceCount = manager->getAvailableDeviceCount();
std::string defaultDeviceName = manager->getDefaultDeviceName();
for(unsigned int i=0; i<deviceCount; ++i)

View File

@ -153,17 +153,6 @@ namespace cAudio
#endif
getLogger()->logInfo("AudioManager", "Supported Extensions: %s", alGetString(AL_EXTENSIONS));
#ifdef CAUDIO_COMPILE_WITH_OGG_DECODER
registerAudioDecoder(&OggDecoderFactory, "ogg");
#endif
#ifdef CAUDIO_COMPILE_WITH_WAV_DECODER
registerAudioDecoder(&WavDecoderFactory, "wav");
#endif
registerAudioDecoder(&RawDecoderFactory, "raw");
registerDataSource(&FileSourceFactory, "FileSystem", 0);
Initialized = true;
return true;
}
@ -743,6 +732,17 @@ namespace cAudio
manager->getAvailableDevices();
#ifdef CAUDIO_COMPILE_WITH_OGG_DECODER
manager->registerAudioDecoder(&OggDecoderFactory, "ogg");
#endif
#ifdef CAUDIO_COMPILE_WITH_WAV_DECODER
manager->registerAudioDecoder(&WavDecoderFactory, "wav");
#endif
manager->registerAudioDecoder(&RawDecoderFactory, "raw");
manager->registerDataSource(&FileSourceFactory, "FileSystem", 0);
std::vector<IAudioPlugin*> plugins = cPluginManager::Instance()->getPluginList();
for(unsigned int i = 0; i < plugins.size(); ++i)
{
@ -780,6 +780,10 @@ namespace cAudio
{
plugins[i]->onDestroyAudioManager(manager);
}
manager->unRegisterAllAudioDecoders();
manager->unRegisterAllDataSources();
manager->unRegisterAllEventHandlers();
manager->shutDown();
delete manager;