From 2e066816983935b8e365fc555f953bdce9f64e46 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 2 Jun 2011 18:40:49 -0400 Subject: COMMON: Begin objectifying QuickTimeParser::SampleDesc further This is preparation for multiple video and audio tracks --- audio/decoders/quicktime_intern.h | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'audio/decoders/quicktime_intern.h') diff --git a/audio/decoders/quicktime_intern.h b/audio/decoders/quicktime_intern.h index 691ef7b58c..3279ad8054 100644 --- a/audio/decoders/quicktime_intern.h +++ b/audio/decoders/quicktime_intern.h @@ -65,30 +65,33 @@ public: bool loadAudioStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeFileHandle); protected: - struct AudioSampleDesc : public Common::QuickTimeParser::SampleDesc { - AudioSampleDesc(); - - uint16 channels; - uint32 sampleRate; - uint32 samplesPerFrame; - uint32 bytesPerFrame; + class AudioSampleDesc : public Common::QuickTimeParser::SampleDesc { + public: + AudioSampleDesc(Common::QuickTimeParser::MOVStreamContext *parentStream, uint32 codecTag); + + bool isAudioCodecSupported() const; + uint32 getAudioChunkSampleCount(uint chunk) const; + AudioStream *createAudioStream(Common::SeekableReadStream *stream) const; + + // TODO: Make private in the long run + uint16 _bitsPerSample; + uint16 _channels; + uint32 _sampleRate; + uint32 _samplesPerFrame; + uint32 _bytesPerFrame; }; // Common::QuickTimeParser API virtual Common::QuickTimeParser::SampleDesc *readSampleDesc(MOVStreamContext *st, uint32 format); - AudioStream *createAudioStream(Common::SeekableReadStream *stream); - bool checkAudioCodecSupport(uint32 tag, byte objectTypeMP4); void init(); - + void setAudioStreamPos(const Timestamp &where); + bool isOldDemuxing() const; void queueNextAudioChunk(); - uint32 getAudioChunkSampleCount(uint chunk); - int8 _audioStreamIndex; + + int _audioStreamIndex; uint _curAudioChunk; QueuingAudioStream *_audStream; - - void setAudioStreamPos(const Timestamp &where); - bool isOldDemuxing() const; }; } // End of namespace Audio -- cgit v1.2.3