#include <3do_decoder.h>
Public Member Functions | |
bool | loadStream (Common::SeekableReadStream *stream) override |
void | close () override |
Public Member Functions inherited from Video::VideoDecoder | |
virtual bool | loadFile (const Common::Path &filename) |
bool | isVideoLoaded () const |
void | start () |
void | stop () |
void | setRate (const Common::Rational &rate) |
Common::Rational | getRate () const |
bool | isPlaying () const |
virtual bool | isRewindable () const |
virtual bool | rewind () |
virtual bool | isSeekable () const |
bool | seek (const Audio::Timestamp &time) |
virtual bool | seekToFrame (uint frame) |
void | pauseVideo (bool pause) |
bool | isPaused () const |
void | setEndTime (const Audio::Timestamp &endTime) |
void | setEndFrame (uint frame) |
Audio::Timestamp | getEndTime () const |
void | resetStartTime () |
bool | endOfVideo () const |
int | getCurFrame () const |
uint32 | getFrameCount () const |
uint32 | getTime () const |
virtual uint16 | getWidth () const |
virtual uint16 | getHeight () const |
Graphics::PixelFormat | getPixelFormat () const |
virtual Audio::Timestamp | getDuration () const |
const byte * | getPalette () |
bool | hasDirtyPalette () const |
void | delayMillis (uint msecs) |
uint32 | getTimeToNextFrame () const |
bool | needsUpdate () const |
virtual const Graphics::Surface * | decodeNextFrame () |
bool | setReverse (bool reverse) |
bool | setDitheringPalette (const byte *palette) |
bool | setOutputPixelFormat (const Graphics::PixelFormat &format) |
virtual void | setVideoCodecAccuracy (Image::CodecAccuracy accuracy) |
byte | getVolume () const |
void | setVolume (byte volume) |
int8 | getBalance () const |
void | setBalance (int8 balance) |
Audio::Mixer::SoundType | getSoundType () const |
void | setSoundType (Audio::Mixer::SoundType soundType) |
bool | addStreamTrack (Audio::SeekableAudioStream *stream) |
bool | addStreamFileTrack (const Common::Path &baseName) |
bool | setAudioTrack (int index) |
uint | getAudioTrackCount () const |
Protected Member Functions | |
void | readNextPacket () override |
bool | supportsAudioTrackSwitching () const override |
AudioTrack * | getAudioTrack (int index) override |
Protected Member Functions inherited from Video::VideoDecoder | |
void | resetPauseStartTime () |
void | addTrack (Track *track, bool isExternal=false) |
virtual bool | useAudioSync () const |
Track * | getTrack (uint track) |
const Track * | getTrack (uint track) const |
bool | endOfVideoTracks () const |
VideoTrack * | findNextVideoTrack () |
TrackListIterator | getTrackListBegin () |
TrackListIterator | getTrackListEnd () |
void | eraseTrack (Track *track) |
virtual bool | seekIntern (const Audio::Timestamp &time) |
void | stopAudio () |
void | setAudioRate (Common::Rational rate) |
void | startAudio () |
void | startAudioLimit (const Audio::Timestamp &limit) |
bool | hasFramesLeft () const |
bool | hasAudio () const |
Additional Inherited Members | |
Protected Types inherited from Video::VideoDecoder | |
typedef Common::Array< Track * > | TrackList |
typedef TrackList::iterator | TrackListIterator |
Protected Attributes inherited from Video::VideoDecoder | |
Audio::Timestamp | _lastTimeChange |
int32 | _startTime |
VideoTrack * | _nextVideoTrack |
Image::CodecAccuracy | _videoCodecAccuracy |
Decoder for 3DO videos.
Video decoder used in engines:
|
overridevirtual |
Load a video from a generic read stream. The ownership of the stream object transfers to this VideoDecoder instance, which is hence also responsible for eventually deleting it.
Implementations of this function are required to call addTrack() for each track in the video upon success.
stream | the stream to load |
Implements Video::VideoDecoder.
|
overridevirtual |
Close the active video stream and free any associated resources.
All subclasses that need to close their own resources should still call the base class' close() function at the start of their function.
Reimplemented from Video::VideoDecoder.
|
overrideprotectedvirtual |
Decode enough data for the next frame and enough audio to last that long.
This function is used by this class' decodeNextFrame() function. A subclass of a Track may decide to just have its decodeNextFrame() function read and decode the frame, but only if it is the only track in the video.
Reimplemented from Video::VideoDecoder.
|
inlineoverrideprotectedvirtual |
Does this video format support switching between audio tracks?
Returning true implies this format supports multiple audio tracks, can switch tracks, and defaults to playing the first found audio track.
Reimplemented from Video::VideoDecoder.
|
overrideprotectedvirtual |
Get the audio track for the given index.
This is used only if supportsAudioTrackSwitching() returns true.
index | The index of the track, whose meaning is dependent on the container |
Reimplemented from Video::VideoDecoder.