fmodex/src/fmod_sound_stream.h

48 lines
1.1 KiB
C++
Executable file

#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