22 #ifndef VIDEO_DECODER_H 23 #define VIDEO_DECODER_H 25 #include "audio/mixer.h" 26 #include "audio/timestamp.h" 27 #include "common/array.h" 28 #include "common/path.h" 29 #include "common/rational.h" 30 #include "common/str.h" 31 #include "graphics/pixelformat.h" 35 class RewindableAudioStream;
36 class SeekableAudioStream;
40 class SeekableReadStream;
95 bool isVideoLoaded()
const;
142 bool isPlaying()
const;
148 virtual bool isRewindable()
const;
158 virtual bool rewind();
164 virtual bool isSeekable()
const;
185 virtual bool seekToFrame(uint frame);
198 void pauseVideo(
bool pause);
223 void setEndFrame(uint frame);
239 bool endOfVideo()
const;
245 int getCurFrame()
const;
251 uint32 getFrameCount()
const;
267 uint32 getTime()
const;
283 virtual uint16 getWidth()
const;
294 virtual uint16 getHeight()
const;
320 const byte *getPalette();
330 uint32 getTimeToNextFrame()
const;
337 bool needsUpdate()
const;
366 bool setReverse(
bool reverse);
385 bool setDitheringPalette(
const byte *palette);
415 void setVolume(byte volume);
430 void setBalance(int8 balance);
464 bool setAudioTrack(
int index);
469 uint getAudioTrackCount()
const;
493 virtual TrackType getTrackType()
const = 0;
498 virtual bool endOfTrack()
const = 0;
506 virtual bool isRewindable()
const;
516 virtual bool rewind();
533 void pause(
bool shouldPause);
566 virtual bool endOfTrack()
const;
571 virtual uint16 getWidth()
const = 0;
576 virtual uint16 getHeight()
const = 0;
593 virtual int getCurFrame()
const = 0;
608 virtual uint32 getNextFrameStartTime()
const = 0;
669 uint32 getNextFrameStartTime()
const;
696 virtual bool endOfTrack()
const;
718 void setVolume(byte volume);
728 void setRate(uint32 rate);
744 void setBalance(int8 balance);
760 uint32 getRunningTime()
const;
765 void setMute(
bool mute);
768 void pauseIntern(
bool shouldPause);
855 void resetPauseStartTime();
874 void addTrack(
Track *track,
bool isExternal =
false);
888 Track *getTrack(uint track);
895 const Track *getTrack(uint track)
const;
903 bool endOfVideoTracks()
const;
931 void eraseTrack(
Track *track);
964 TrackList _internalTracks;
965 TrackList _externalTracks;
975 mutable bool _dirtyPalette;
976 const byte *_palette;
980 bool _canSetDefaultFormat;
988 bool hasFramesLeft()
const;
989 bool hasAudio()
const;
996 uint32 _pauseStartTime;
virtual AudioTrack * getAudioTrack(int index)
Definition: video_decoder.h:959
byte getVolume() const
Definition: video_decoder.h:406
TrackListIterator getTrackListBegin()
Definition: video_decoder.h:921
Definition: video_decoder.h:476
byte getVolume() const
Definition: video_decoder.h:713
virtual bool hasDirtyPalette() const
Definition: video_decoder.h:623
int8 getBalance() const
Definition: video_decoder.h:421
Definition: video_decoder.h:664
Common::Array< Track * > TrackList
Definition: video_decoder.h:915
virtual bool useAudioSync() const
Definition: video_decoder.h:881
virtual int getFrameCount() const
Definition: video_decoder.h:602
Definition: video_decoder.h:689
T * iterator
Definition: array.h:54
Definition: timestamp.h:83
virtual bool supportsAudioTrackSwitching() const
Definition: video_decoder.h:949
virtual bool isSeekable() const
Definition: video_decoder.h:521
Definition: rational.h:40
Definition: video_decoder.h:834
Audio::Timestamp getEndTime() const
Definition: video_decoder.h:228
Definition: audiostream.h:212
virtual bool setReverse(bool reverse)
Definition: video_decoder.h:641
uint32 getRate() const
Definition: video_decoder.h:723
void setSoundType(Audio::Mixer::SoundType soundType)
Definition: video_decoder.h:754
SoundType
Definition: mixer.h:62
TrackType getTrackType() const
Definition: video_decoder.h:565
Definition: video_decoder.h:52
virtual void pauseIntern(bool shouldPause)
Definition: video_decoder.h:551
bool isPaused() const
Definition: video_decoder.h:538
Definition: algorithm.h:29
Definition: formatinfo.h:28
TrackType
Definition: video_decoder.h:484
Definition: audiostream.h:50
bool hasDirtyPalette() const
Definition: video_decoder.h:325
virtual void setDither(const byte *palette)
Definition: video_decoder.h:656
Definition: video_decoder.h:788
virtual bool isReversed() const
Definition: video_decoder.h:646
bool isRewindable() const
Definition: video_decoder.h:793
TrackListIterator getTrackListEnd()
Definition: video_decoder.h:926
bool isSeekable() const
Definition: video_decoder.h:815
Definition: audiostream.h:109
virtual bool seek(const Audio::Timestamp &time)
Definition: video_decoder.h:528
virtual bool canDither() const
Definition: video_decoder.h:651
int8 getBalance() const
Definition: video_decoder.h:739
Audio::Mixer::SoundType getSoundType() const
Definition: video_decoder.h:749
virtual bool setOutputPixelFormat(const Graphics::PixelFormat &format)
Definition: video_decoder.h:586
virtual void readNextPacket()
Definition: video_decoder.h:864
bool isPaused() const
Definition: video_decoder.h:203
TrackType getTrackType() const
Definition: video_decoder.h:694
Audio::SeekableAudioStream * getSeekableAudioStream() const
Definition: video_decoder.h:849
Definition: avi_frames.h:36
Definition: video_decoder.h:810
Common::Rational getRate() const
Definition: video_decoder.h:132
virtual const byte * getPalette() const
Definition: video_decoder.h:618
Definition: video_decoder.h:560