//-------------------------------------------- // 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_