#ifndef CRAWAUDIODECODERFACOTRY_H_INCLUDED #define CRAWAUDIODECODERFACOTRY_H_INCLUDED #include "../include/IAudioDecoderFactory.h" #include "cRawDecoder.h" #include "../Headers/cMutex.h" namespace cAudio { class cRawAudioDecoderFactory : public IAudioDecoderFactory { public: cRawAudioDecoderFactory() {} ~cRawAudioDecoderFactory() {} IAudioDecoder* CreateAudioDecoder(IDataSource* stream) { Mutex.lock(); IAudioDecoder* decoder = new cRawDecoder(stream, 22050, EAF_16BIT_MONO); Mutex.unlock(); return decoder; } IAudioDecoder* CreateAudioDecoder(IDataSource* stream, unsigned int frequency = 22050, AudioFormats format = EAF_16BIT_MONO) { Mutex.lock(); IAudioDecoder* decoder = new cRawDecoder(stream, frequency, format); Mutex.unlock(); return decoder; } protected: cAudioMutex Mutex; private: }; }; #endif //! CRAWAUDIODECODERFACOTRY_H_INCLUDED