Chromium Code Reviews| Index: webrtc/modules/audio_coding/neteq/decoder_database.cc |
| diff --git a/webrtc/modules/audio_coding/neteq/decoder_database.cc b/webrtc/modules/audio_coding/neteq/decoder_database.cc |
| index 483c9b96ba28d02272ff7ab416eeb2635ee9545e..fa120d235386f1007744a0d22ff617cc8186feec 100644 |
| --- a/webrtc/modules/audio_coding/neteq/decoder_database.cc |
| +++ b/webrtc/modules/audio_coding/neteq/decoder_database.cc |
| @@ -27,24 +27,29 @@ DecoderDatabase::DecoderDatabase( |
| DecoderDatabase::~DecoderDatabase() = default; |
| DecoderDatabase::DecoderInfo::DecoderInfo(const SdpAudioFormat& audio_format, |
| - AudioDecoderFactory* factory) |
| - : audio_format_(audio_format), |
| + AudioDecoderFactory* factory, |
| + const std::string& codec_name) |
| + : name_(codec_name), |
| + audio_format_(audio_format), |
| factory_(factory), |
| external_decoder_(nullptr), |
| cng_decoder_(CngDecoder::Create(audio_format)), |
| subtype_(SubtypeFromFormat(audio_format)) {} |
| +DecoderDatabase::DecoderInfo::DecoderInfo(const SdpAudioFormat& audio_format, |
| + AudioDecoderFactory* factory) |
| + : DecoderInfo(audio_format, factory, audio_format.name) {} |
|
kwiberg-webrtc
2016/11/03 12:02:58
The functional change is here; we actually fill in
|
| + |
| DecoderDatabase::DecoderInfo::DecoderInfo(NetEqDecoder ct, |
| AudioDecoderFactory* factory) |
| - : audio_format_(*acm2::RentACodec::NetEqDecoderToSdpAudioFormat(ct)), |
| - factory_(factory), |
| - external_decoder_(nullptr), |
| - cng_decoder_(CngDecoder::Create(audio_format_)), |
| - subtype_(SubtypeFromFormat(audio_format_)) {} |
| + : DecoderInfo(*acm2::RentACodec::NetEqDecoderToSdpAudioFormat(ct), |
| + factory) {} |
| DecoderDatabase::DecoderInfo::DecoderInfo(const SdpAudioFormat& audio_format, |
| - AudioDecoder* ext_dec) |
| - : audio_format_(audio_format), |
| + AudioDecoder* ext_dec, |
| + const std::string& codec_name) |
| + : name_(codec_name), |
| + audio_format_(audio_format), |
| factory_(nullptr), |
| external_decoder_(ext_dec), |
| subtype_(Subtype::kNormal) { |
| @@ -135,8 +140,7 @@ int DecoderDatabase::RegisterPayload(uint8_t rtp_payload_type, |
| if (!opt_format) { |
| return kCodecNotSupported; |
| } |
| - DecoderInfo info(*opt_format, decoder_factory_); |
| - info.name = name; |
| + DecoderInfo info(*opt_format, decoder_factory_, name); |
| auto ret = |
| decoders_.insert(std::make_pair(rtp_payload_type, std::move(info))); |
| if (ret.second == false) { |
| @@ -176,8 +180,7 @@ int DecoderDatabase::InsertExternal(uint8_t rtp_payload_type, |
| const SdpAudioFormat format = opt_db_format.value_or({"arbitrary", 0, 0}); |
| std::pair<DecoderMap::iterator, bool> ret; |
| - DecoderInfo info(format, decoder); |
| - info.name = codec_name; |
| + DecoderInfo info(format, decoder, codec_name); |
| ret = decoders_.insert(std::make_pair(rtp_payload_type, std::move(info))); |
| if (ret.second == false) { |
| // Database already contains a decoder with type |rtp_payload_type|. |