diff options
author | Paul Gilbert | 2016-10-12 20:09:36 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-10-12 20:09:36 -0400 |
commit | a333f3c44ccde58438cb0deb9a6398b3008aeeec (patch) | |
tree | d7d3ea57b5397ceccc606a1aea882f0335daedbf /video/avi_decoder.h | |
parent | 0a186a66d6425212f9e1a340aa84b40709a55527 (diff) | |
download | scummvm-rg350-a333f3c44ccde58438cb0deb9a6398b3008aeeec.tar.gz scummvm-rg350-a333f3c44ccde58438cb0deb9a6398b3008aeeec.tar.bz2 scummvm-rg350-a333f3c44ccde58438cb0deb9a6398b3008aeeec.zip |
VIDEO: Support rewind on AVI files with multiple video tracks
Diffstat (limited to 'video/avi_decoder.h')
-rw-r--r-- | video/avi_decoder.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/video/avi_decoder.h b/video/avi_decoder.h index db9928d444..4bba07e98f 100644 --- a/video/avi_decoder.h +++ b/video/avi_decoder.h @@ -272,10 +272,15 @@ protected: uint32 chunkSearchOffset; }; + class IndexEntries : public Common::Array<OldIndex> { + public: + OldIndex *find(uint index, uint frameNumber); + }; + AVIHeader _header; void readOldIndex(uint32 size); - Common::Array<OldIndex> _indexEntries; + IndexEntries _indexEntries; Common::SeekableReadStream *_fileStream; bool _decodedHeader; @@ -296,8 +301,9 @@ protected: void handleStreamHeader(uint32 size); void readStreamName(uint32 size); uint16 getStreamType(uint32 tag) const { return tag & 0xFFFF; } - byte getStreamIndex(uint32 tag) const; + static byte getStreamIndex(uint32 tag); void checkTruemotion1(); + uint getVideoTrackOffset(uint trackIndex, uint frameNumber = 0); void handleNextPacket(TrackStatus& status); bool shouldQueueAudio(TrackStatus& status); |