aboutsummaryrefslogtreecommitdiff
path: root/audio/decoders/quicktime_intern.h
diff options
context:
space:
mode:
authorMatthew Hoops2011-06-02 18:40:49 -0400
committerMatthew Hoops2011-06-02 23:44:40 -0400
commit2e066816983935b8e365fc555f953bdce9f64e46 (patch)
tree08760ac1ed5e7d1754792d8353e0fff19704f42d /audio/decoders/quicktime_intern.h
parent717248e1625bc42fc7f777ca9d3029f6ef8978e6 (diff)
downloadscummvm-rg350-2e066816983935b8e365fc555f953bdce9f64e46.tar.gz
scummvm-rg350-2e066816983935b8e365fc555f953bdce9f64e46.tar.bz2
scummvm-rg350-2e066816983935b8e365fc555f953bdce9f64e46.zip
COMMON: Begin objectifying QuickTimeParser::SampleDesc further
This is preparation for multiple video and audio tracks
Diffstat (limited to 'audio/decoders/quicktime_intern.h')
-rw-r--r--audio/decoders/quicktime_intern.h33
1 files changed, 18 insertions, 15 deletions
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