10 #ifndef _TheoraVideoClip_h
11 #define _TheoraVideoClip_h
112 int calculatePriority();
113 void readTheoraVorbisHeaders();
114 virtual void doSeek() = 0;
115 virtual bool _readData() = 0;
124 virtual float decodeAudio() = 0;
126 int _getNumReadyFrames();
127 void resetFrameQueue();
128 int discardOutdatedFrames(
float absTime);
129 float getAbsPlaybackTime();
132 virtual void _restart() = 0;
137 std::string getName();
139 virtual std::string getDecoderName() = 0;
154 int getSubFrameWidth();
156 int getSubFrameHeight();
158 int getSubFrameOffsetX();
160 int getSubFrameOffsetY();
178 virtual bool decodeNextFrame() = 0;
181 void update(
float timeDelta);
188 float updateToNextFrame();
211 virtual void decodedAudioCheck() = 0;
221 void setNumPrecachedFrames(
int n);
223 int getNumPrecachedFrames();
225 int getNumReadyFrames();
228 void setAudioGain(
float gain);
229 float getAudioGain();
232 void setAutoRestart(
bool value);
240 void setPriority(
float priority);
244 float getPriorityIndex();
247 float getTimePosition();
270 void setPlaybackSpeed(
float speed);
271 float getPlaybackSpeed();
273 void seek(
float time);
275 void seekToFrame(
int frame);
277 float waitForCache(
float desired_cache_factor = 0.5f,
float max_wait_time = 1.0f);
int getNumDroppedFrames()
benchmark function
Definition: TheoraVideoClip.h:144
bool mAutoRestart
Definition: TheoraVideoClip.h:97
Definition: TheoraVideoClip.h:44
bool hasAlphaChannel()
returns whether the clip has an alpha channel
Definition: TheoraVideoClip.h:151
int mNumFrames
Definition: TheoraVideoClip.h:89
Definition: TheoraVideoClip.h:33
float mFPS
Definition: TheoraVideoClip.h:90
TheoraAudioInterface * mAudioInterface
Definition: TheoraVideoClip.h:68
Definition: TheoraVideoClip.h:46
TheoraMutex * mAudioMutex
used to ensure smooth playback of looping videos
Definition: TheoraVideoClip.h:101
TheoraOutputMode
Definition: TheoraVideoClip.h:28
Definition: TheoraVideoManager.h:29
int getNumFrames()
get the number of frames in this movie
Definition: TheoraVideoClip.h:253
Definition: TheoraVideoClip.h:40
Definition: TheoraVideoClip.h:41
Definition: TheoraVideoClip.h:49
Definition: TheoraVideoClip.h:50
float mPriority
Definition: TheoraVideoClip.h:86
Definition: TheoraVideoClip.h:42
Definition: TheoraAsync.h:18
Definition: TheoraVideoClip.h:47
Definition: TheoraTimer.h:21
int mNumPrecachedFrames
Definition: TheoraVideoClip.h:80
TheoraWorkerThread * mAssignedWorkerThread
Definition: TheoraVideoClip.h:73
Definition: TheoraVideoClip.h:45
TheoraOutputMode mRequestedOutputMode
Definition: TheoraVideoClip.h:95
Definition: TheoraVideoClip.h:37
bool mRestarted
Definition: TheoraVideoClip.h:98
Definition: TheoraVideoFrame.h:19
std::string mName
User assigned priority. Default value is 1.
Definition: TheoraVideoClip.h:87
Definition: TheoraVideoClip.h:51
Definition: TheoraVideoClip.h:61
int mThreadAccessCount
Definition: TheoraVideoClip.h:82
int mWidth
Definition: TheoraVideoClip.h:88
int mSeekFrame
counter used by TheoraVideoManager to schedule workload
Definition: TheoraVideoClip.h:84
Definition: TheoraVideoClip.h:34
Definition: TheoraVideoClip.h:43
bool mWaitingForCache
Definition: TheoraVideoClip.h:77
TheoraFrameQueue * mFrameQueue
Definition: TheoraVideoClip.h:67
int mPlaybackIteration
Definition: TheoraVideoClip.h:99
void update(float timeDelta)
TheoraDataSource * mStream
Definition: TheoraVideoClip.h:69
Definition: TheoraVideoClip.h:36
bool mUseAlpha
Definition: TheoraVideoClip.h:75
int getStride()
return stride in pixels
Definition: TheoraVideoClip.h:170
TheoraTimer * mTimer
Definition: TheoraVideoClip.h:71
int getNumDisplayedFrames()
benchmark function
Definition: TheoraVideoClip.h:142
#define TheoraPlayerExport
Definition: TheoraExport.h:25
float mAudioGain
Definition: TheoraVideoClip.h:93
Definition: TheoraDataSource.h:23
Definition: TheoraVideoClip.h:38
Definition: TheoraVideoClip.h:52
TheoraMutex * mThreadAccessMutex
syncs audio decoding and extraction
Definition: TheoraVideoClip.h:102
Definition: TheoraAudioInterface.h:22
Definition: TheoraVideoClip.h:54
Definition: TheoraVideoClip.h:48
int mSubFrameWidth
Definition: TheoraVideoClip.h:92
Definition: TheoraVideoClip.h:39
float mFrameDuration
Definition: TheoraVideoClip.h:85
bool mFirstFrameDisplayed
Definition: TheoraVideoClip.h:96
Definition: TheoraVideoClip.h:35
Definition: TheoraVideoClip.h:53
Definition: TheoraFrameQueue.h:24
Definition: TheoraWorkerThread.h:20
bool getAutoRestart()
Definition: TheoraVideoClip.h:233