#include <hnm_decoder.h>
Public Member Functions | |
HNMDecoder (const Graphics::PixelFormat &format, bool loop=false, byte *initialPalette=nullptr) | |
bool | loadStream (Common::SeekableReadStream *stream) override |
void | readNextPacket () override |
void | close () override |
void | setRegularFrameDelay (uint32 regularFrameDelay) |
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 |
Additional Inherited Members | |
Protected Types inherited from Video::VideoDecoder | |
typedef Common::Array< Track * > | TrackList |
typedef TrackList::iterator | TrackListIterator |
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) |
virtual bool | supportsAudioTrackSwitching () const |
virtual AudioTrack * | getAudioTrack (int index) |
void | stopAudio () |
void | setAudioRate (Common::Rational rate) |
void | startAudio () |
void | startAudioLimit (const Audio::Timestamp &limit) |
bool | hasFramesLeft () const |
bool | hasAudio () const |
Protected Attributes inherited from Video::VideoDecoder | |
Audio::Timestamp | _lastTimeChange |
int32 | _startTime |
VideoTrack * | _nextVideoTrack |
Image::CodecAccuracy | _videoCodecAccuracy |
Decoder for HNM 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 |
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.
|
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.