59 lines
1.1 KiB
C
59 lines
1.1 KiB
C
|
#ifndef CMP3DECODERPLUGIN_H
|
||
|
#define CMP3DECODERPLUGIN_H
|
||
|
|
||
|
#include "IAudioPlugin.h"
|
||
|
#include "cMP3DecoderFactory.h"
|
||
|
|
||
|
using namespace cAudio;
|
||
|
|
||
|
class cMP3DecoderPlugin : public IAudioPlugin
|
||
|
{
|
||
|
bool installPlugin(ILogger* logger)
|
||
|
{
|
||
|
//This plugin has no first time initialization to do, so this is an easy function
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
const char* getPluginName()
|
||
|
{
|
||
|
return "MP3Decoder";
|
||
|
}
|
||
|
|
||
|
void uninstallPlugin()
|
||
|
{
|
||
|
//Nothing to clean up
|
||
|
}
|
||
|
|
||
|
void onCreateAudioManager(IAudioManager* manager)
|
||
|
{
|
||
|
cMP3DecoderFactory* factory = new cMP3DecoderFactory();
|
||
|
|
||
|
if(factory)
|
||
|
{
|
||
|
manager->registerAudioDecoder(factory, "mp3");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void onCreateAudioCapture(IAudioCapture* capture)
|
||
|
{
|
||
|
//Do nothing with this "event"
|
||
|
}
|
||
|
|
||
|
void onDestroyAudioManager(IAudioManager* manager)
|
||
|
{
|
||
|
cAudio::IAudioDecoderFactory* factory = manager->getAudioDecoderFactory("mp3");
|
||
|
manager->unRegisterAudioDecoder("mp3");
|
||
|
|
||
|
if(factory)
|
||
|
{
|
||
|
delete factory;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void onDestoryAudioCapture(IAudioCapture* capture)
|
||
|
{
|
||
|
//Do nothing with this "event"
|
||
|
}
|
||
|
};
|
||
|
|
||
|
#endif //! CMP3DECODERPLUGIN_H
|