#ifndef _FMOD_SOUND_STREAM_H #define _FMOD_SOUND_STREAM_H #include "fmod_settings.h" #ifdef FMOD_SUPPORT_STREAMING #ifndef _FMOD_SOUNDI_H #include "fmod_soundi.h" #endif namespace FMOD { class Sample; class ChannelStream; class Stream : public SoundI { DECLARE_MEMORYTRACKER public: LinkedListNode mStreamNode; ChannelStream *mChannel; /* Each stream has its own unique channel. */ Sample *mSample; unsigned int mLastPos; int mBlockSize; int mLoopCountCurrent; int mInitialPosition; bool isStream() { return true; } public: Stream(); FMOD_RESULT fill(unsigned int offset, unsigned int length, unsigned int *read = 0, bool calledfromsentence = false); FMOD_RESULT flush(); FMOD_RESULT setPosition(unsigned int position, FMOD_TIMEUNIT postype); FMOD_RESULT getPosition(unsigned int *position, FMOD_TIMEUNIT postype); FMOD_RESULT setLoopCount(int loopcount); }; } #endif #endif