AUDIO: Fix remaining AAC bugs by decoding with the same AAC context
This introduces a new Audio::Codec class, based on DrMcCoy's solution for WMA in eos.
This commit is contained in:
parent
0d02cc0ef5
commit
c46aa548d6
5 changed files with 127 additions and 98 deletions
|
@ -45,6 +45,7 @@ namespace Common {
|
|||
namespace Audio {
|
||||
|
||||
class AudioStream;
|
||||
class Codec;
|
||||
class QueuingAudioStream;
|
||||
|
||||
class QuickTimeAudioDecoder : public Common::QuickTimeParser {
|
||||
|
@ -68,10 +69,12 @@ protected:
|
|||
class AudioSampleDesc : public Common::QuickTimeParser::SampleDesc {
|
||||
public:
|
||||
AudioSampleDesc(Common::QuickTimeParser::Track *parentTrack, uint32 codecTag);
|
||||
~AudioSampleDesc();
|
||||
|
||||
bool isAudioCodecSupported() const;
|
||||
uint32 getAudioChunkSampleCount(uint chunk) const;
|
||||
AudioStream *createAudioStream(Common::SeekableReadStream *stream) const;
|
||||
void initCodec();
|
||||
|
||||
// TODO: Make private in the long run
|
||||
uint16 _bitsPerSample;
|
||||
|
@ -79,6 +82,8 @@ protected:
|
|||
uint32 _sampleRate;
|
||||
uint32 _samplesPerFrame;
|
||||
uint32 _bytesPerFrame;
|
||||
|
||||
Codec *_codec;
|
||||
};
|
||||
|
||||
// Common::QuickTimeParser API
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue