tge/engine/audio/wavStreamSource.h
2017-04-17 06:17:10 -06:00

50 lines
1.0 KiB
C++
Executable File

//--------------------------------------------
// wavStreamSource.h
// header for streaming audio source for WAV
//--------------------------------------------
#ifndef _WAVSTREAMSOURCE_H_
#define _WAVSTREAMSOURCE_H_
#ifndef _AUDIOSTREAMSOURCE_H_
#include "audio/audioStreamSource.h"
#endif
class WavStreamSource: public AudioStreamSource
{
public:
WavStreamSource(const char *filename);
virtual ~WavStreamSource();
virtual bool initStream();
virtual bool updateBuffers();
virtual void freeStream();
virtual F32 getElapsedTime();
virtual F32 getTotalTime();
private:
ALuint mBufferList[NUMBUFFERS];
S32 mNumBuffers;
S32 mBufferSize;
Stream *stream;
bool bReady;
bool bFinished;
ALenum format;
ALsizei size;
ALsizei freq;
ALuint DataSize;
ALuint DataLeft;
ALuint dataStart;
ALuint buffersinqueue;
bool bBuffersAllocated;
void clear();
void resetStream();
};
#endif // _AUDIOSTREAMSOURCE_H_