// 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 <windows.h>
|
#include <list>
|
|
#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<AudioSample *> audioSamples;
|
CRITICAL_SECTION audioSamplesMutex;
|
int numSamplesCreated;
|
};
|
|
#endif // !defined(AFX_AUDIOSAMPLEMANAGER_H__76C53E0E_9B8E_4ADB_BB87_442385790C2F__INCLUDED_)
|