22 #ifndef SHERLOCK_SCALPEL_3DO_MOVIE_DECODER_H 23 #define SHERLOCK_SCALPEL_3DO_MOVIE_DECODER_H 25 #include "common/rect.h" 26 #include "video/video_decoder.h" 30 class QueuingAudioStream;
34 class SeekableReadStream;
56 void close()
override;
59 void readNextPacket()
override;
64 int32 _streamVideoOffset;
65 int32 _streamAudioOffset;
70 StreamVideoTrack(uint32 width, uint32 height, uint32 codecTag, uint32 frameCount);
71 ~StreamVideoTrack()
override;
73 bool endOfTrack()
const override;
75 uint16 getWidth()
const override {
return _width; }
76 uint16 getHeight()
const override {
return _height; }
79 int getCurFrame()
const override {
return _curFrame; }
80 int getFrameCount()
const override {
return _frameCount; }
81 void setNextFrameStartTime(uint32 nextFrameStartTime) { _nextFrameStartTime = nextFrameStartTime; }
82 uint32 getNextFrameStartTime()
const override {
return _nextFrameStartTime; }
92 uint32 _nextFrameStartTime;
95 uint16 _width, _height;
100 StreamAudioTrack(uint32 codecTag, uint32 sampleRate, uint32 channels,
Audio::Mixer::SoundType soundType, uint32 trackId);
101 ~StreamAudioTrack()
override;
105 bool matchesId(uint trackId);
112 uint32 _totalAudioQueued;
115 uint32 getTotalAudioQueued()
const {
return _totalAudioQueued; }
118 int16 decodeSample(uint8 dataNibble);
130 StreamVideoTrack *_videoTrack;
Definition: video_decoder.h:711
SoundType
Definition: mixer.h:62
Definition: video_decoder.h:53
Definition: algorithm.h:29
Definition: audiostream.h:50
Definition: 3do_decoder.h:50
Definition: audiostream.h:370
Definition: avi_frames.h:36
bool supportsAudioTrackSwitching() const override
Definition: 3do_decoder.h:60
Definition: movie_decoder.h:32
Definition: video_decoder.h:577