// AudioSampleManager.h: interface for the AudioSampleManager class. // ////////////////////////////////////////////////////////////////////// #ifndef AFX_AUDIOSAMPLEMANAGER_H__76C53E0E_9B8E_4ADB_BB87_442385790C2F__INCLUDED_ #define AFX_AUDIOSAMPLEMANAGER_H__76C53E0E_9B8E_4ADB_BB87_442385790C2F__INCLUDED_ #include #include #include "TraceUser.h" class AudioSample; class AudioSampleManager : public TraceUser { public: static AudioSampleManager* GetInstance(); static void Initialize(); static void Uninitialize(); int GetAudioSample(AudioSample **ppAudioSample, TraceUser *container); int AudioSampleReleased(AudioSample *audioSample); virtual ~AudioSampleManager(); protected: virtual int SetTraceLevel(); private: AudioSampleManager(); private: static AudioSampleManager *instance; static bool initialized; static CRITICAL_SECTION instanceMutex; std::list audioSamples; CRITICAL_SECTION audioSamplesMutex; int numSamplesCreated; }; #endif // !defined(AFX_AUDIOSAMPLEMANAGER_H__76C53E0E_9B8E_4ADB_BB87_442385790C2F__INCLUDED_)