| Index: webrtc/modules/audio_coding/neteq/decoder_database.h
|
| diff --git a/webrtc/modules/audio_coding/neteq/decoder_database.h b/webrtc/modules/audio_coding/neteq/decoder_database.h
|
| index ec8a5d69bc27dfb1b19e472dc5121dbadedffbbf..3a40e08c8a64a2aade03dfcef6e555b8a63635a7 100644
|
| --- a/webrtc/modules/audio_coding/neteq/decoder_database.h
|
| +++ b/webrtc/modules/audio_coding/neteq/decoder_database.h
|
| @@ -17,6 +17,8 @@
|
|
|
| #include "webrtc/base/constructormagic.h"
|
| #include "webrtc/common_types.h" // NULL
|
| +#include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h"
|
| +#include "webrtc/modules/audio_coding/codecs/audio_format.h"
|
| #include "webrtc/modules/audio_coding/codecs/cng/webrtc_cng.h"
|
| #include "webrtc/modules/audio_coding/neteq/audio_decoder_impl.h"
|
| #include "webrtc/modules/audio_coding/neteq/packet.h"
|
| @@ -47,7 +49,7 @@ class DecoderDatabase {
|
| ~DecoderInfo();
|
|
|
| // Get the AudioDecoder object, creating it first if necessary.
|
| - AudioDecoder* GetDecoder();
|
| + AudioDecoder* GetDecoder(AudioDecoderFactory* factory);
|
|
|
| // Delete the AudioDecoder object, unless it's external. (This means we can
|
| // always recreate it later if we need it.)
|
| @@ -59,6 +61,7 @@ class DecoderDatabase {
|
| AudioDecoder* const external_decoder;
|
|
|
| private:
|
| + const rtc::Optional<SdpAudioFormat> audio_format_;
|
| std::unique_ptr<AudioDecoder> decoder_;
|
| };
|
|
|
| @@ -66,7 +69,7 @@ class DecoderDatabase {
|
| // only 7 bits).
|
| static const uint8_t kRtpPayloadTypeError = 0xFF;
|
|
|
| - DecoderDatabase();
|
| + DecoderDatabase(std::unique_ptr<AudioDecoderFactory> decoder_factory);
|
|
|
| virtual ~DecoderDatabase();
|
|
|
| @@ -157,6 +160,7 @@ class DecoderDatabase {
|
| int active_decoder_type_;
|
| int active_cng_decoder_type_;
|
| std::unique_ptr<ComfortNoiseDecoder> active_cng_decoder_;
|
| + const std::unique_ptr<AudioDecoderFactory> decoder_factory_;
|
|
|
| RTC_DISALLOW_COPY_AND_ASSIGN(DecoderDatabase);
|
| };
|
|
|