55 #ifndef VIDEO_QUICKTIME_H 56 #define VIDEO_QUICKTIME_H 70 class SeekableReadStream;
308 #endif // VIDEO_QUICKTIME_H
QuickTimeTrack * _parentTrack
Common::ScopedArray< TimeToSampleEntry > timeToSample
void checkAudioBuffer(AudioTrack &track, const Common::Timestamp &endTime)
Ensure that there is enough audio buffered in the given track to reach the given timestamp.
AudioSampleDesc(QuickTimeTrack *parentTrack, uint32 codecTag)
An abstract representation of an audio track.
AudioTrackHandler(QuickTimeDecoder *decoder, QuickTimeAudioTrack *audioTrack)
bool decodeNextFrame(Graphics::Surface &surface)
Common::Timestamp getChunkLength(uint chunk, bool skipAACPrimer=false) const
bool canBufferData() const
Common::Timestamp _curMediaPos
VideoSampleDesc(QuickTimeTrack *parentTrack, uint32 codecTag)
int getRate() const
Sample rate of the stream.
int getChannels() const
Return the number channels in this stream.
Sound::PacketizedAudioStream * createAudioStream() const
Common::ScopedPtr< Common::SeekableReadStream > _fd
Common::ScopedArray< uint32 > chunkOffsets
void updateBuffer(const Common::Timestamp &endTime)
Common::ScopedArray< byte > _palette
int getCurFrame() const
Get the current frame of this track.
Sound::AudioStream * getAudioStream() const
Common::ScopedArray< SampleToChunkEntry > sampleToChunk
Common::SeekableReadStream * readAudioChunk(uint chunk)
QuickTimeDecoder * _decoder
bool endOfData() const
End of data reached? If this returns true, it means that at this time there is no data available in t...
uint32 getAACSampleTime(uint32 totalSampleCount, bool skipAACPrimer=false) const
QuickTimeDecoder * _decoder
A generic interface for video decoders.
SampleDesc(QuickTimeTrack *parentTrack, uint32 codecTag)
A simple scoped smart pointer template.
uint32 getHeight() const
Get the height of this track.
A vector of pointer to objects, with automatic deletion.
VideoTrackHandler(QuickTimeDecoder *decoder, QuickTimeTrack *parent)
uint32 getFrameDuration()
Common::PtrVector< SampleDesc > sampleDescs
QuickTimeDecoder(Common::SeekableReadStream *stream)
bool isAudioCodecSupported() const
An AudioStream designed to work in terms of packets.
Common::Timestamp getDuration() const
Get the duration of the track.
void queueAudio(const Common::Timestamp &length=Common::Timestamp())
QuickTimeTrack * _parentTrack
Common::ScopedPtr< Codec > _videoCodec
Common::ScopedPtr< Sound::PacketizedAudioStream > _stream
uint32 getWidth() const
Get the width of this track.
Low-level type definitions to handle fixed width types portably.
An abstract representation of a video track.
A vector storing pointer to objects, with automatic deletion.
SampleDesc * readSampleDesc(QuickTimeTrack *track, uint32 format)
size_t readBuffer(int16 *data, const size_t numSamples)
Fill the given buffer with up to numSamples samples.
Common::ScopedArray< uint32 > sampleSizes
Common::ScopedArray< uint32 > keyframes
Common::Timestamp getNextFrameStartTime() const
Get the start time of the next frame since the start of the video.
uint32 getCodecTag() const
Generic audio input stream.
QuickTimeAudioTrack(QuickTimeDecoder *decoder, QuickTimeTrack *parentTrack)
bool isOldDemuxing() const
void decodeNextTrackFrame(VideoTrack &track)
Decode enough data for the next frame.
Common::PtrVector< QuickTimeTrack > _tracks
Common::ScopedPtr< Common::SeekableReadStream > _extraData
Decoder for QuickTime videos.
Timestamps allow specifying points in time and measuring time intervals with a sub-millisecond granul...
bool endOfStream() const
End of stream reached? If this returns true, it means that all data in this stream is used up and no ...
QuickTimeAudioTrack * _audioTrack
int readDefault(Atom atom)
Common::PtrVector< QuickTimeAudioTrack > _audioTracks
uint32 _nextFrameStartTime
bool allAudioQueued() const
uint32 getAudioChunkSampleCount(uint chunk) const
const ParseTable * _parseTable
Common::SeekableReadStream * getNextFramePacket(uint32 &descId)
int(QuickTimeDecoder::* func)(Atom atom)
Interface for a seekable & readable data stream.
uint32 sampleToChunkCount
QuickTimeDecoder * _decoder
Codec * findDefaultVideoCodec() const
int getFrameCount() const
Get the frame count of this track.
Generic video decoder interface.