| Index: webrtc/modules/audio_coding/main/acm2/codec_manager.cc
|
| diff --git a/webrtc/modules/audio_coding/main/acm2/codec_manager.cc b/webrtc/modules/audio_coding/main/acm2/codec_manager.cc
|
| index 236f5e033d5b365f96b59016d6777d20e6fcaef5..a1a478e2139f72a7ad8a822fe4eade2c52b17a74 100644
|
| --- a/webrtc/modules/audio_coding/main/acm2/codec_manager.cc
|
| +++ b/webrtc/modules/audio_coding/main/acm2/codec_manager.cc
|
| @@ -264,14 +264,16 @@ int CodecManager::RegisterEncoder(const CodecInst& send_codec) {
|
| // VAD/DTX not supported.
|
| dtx_enabled_ = false;
|
| }
|
| - if (!codec_owner_.SetEncoders(
|
| - send_codec, dtx_enabled_ ? CngPayloadType(send_codec.plfreq) : -1,
|
| - vad_mode_, red_enabled_ ? RedPayloadType(send_codec.plfreq) : -1))
|
| + AudioEncoder* enc = rent_a_codec_.RentEncoder(send_codec);
|
| + if (!enc)
|
| return -1;
|
| + codec_owner_.SetEncoders(
|
| + enc, dtx_enabled_ ? CngPayloadType(send_codec.plfreq) : -1,
|
| + vad_mode_, red_enabled_ ? RedPayloadType(send_codec.plfreq) : -1);
|
| RTC_DCHECK(codec_owner_.Encoder());
|
|
|
| codec_fec_enabled_ = codec_fec_enabled_ &&
|
| - codec_owner_.Encoder()->SetFec(codec_fec_enabled_);
|
| + enc->SetFec(codec_fec_enabled_);
|
|
|
| send_codec_inst_ = send_codec;
|
| return 0;
|
| @@ -281,10 +283,12 @@ int CodecManager::RegisterEncoder(const CodecInst& send_codec) {
|
| if (send_codec_inst_.plfreq != send_codec.plfreq ||
|
| send_codec_inst_.pacsize != send_codec.pacsize ||
|
| send_codec_inst_.channels != send_codec.channels) {
|
| - if (!codec_owner_.SetEncoders(
|
| - send_codec, dtx_enabled_ ? CngPayloadType(send_codec.plfreq) : -1,
|
| - vad_mode_, red_enabled_ ? RedPayloadType(send_codec.plfreq) : -1))
|
| + AudioEncoder* enc = rent_a_codec_.RentEncoder(send_codec);
|
| + if (!enc)
|
| return -1;
|
| + codec_owner_.SetEncoders(
|
| + enc, dtx_enabled_ ? CngPayloadType(send_codec.plfreq) : -1,
|
| + vad_mode_, red_enabled_ ? RedPayloadType(send_codec.plfreq) : -1);
|
| RTC_DCHECK(codec_owner_.Encoder());
|
| }
|
| send_codec_inst_.plfreq = send_codec.plfreq;
|
| @@ -418,7 +422,7 @@ int CodecManager::SetCodecFEC(bool enable_codec_fec) {
|
| }
|
|
|
| AudioDecoder* CodecManager::GetAudioDecoder(const CodecInst& codec) {
|
| - return IsIsac(codec) ? codec_owner_.GetIsacDecoder() : nullptr;
|
| + return IsIsac(codec) ? rent_a_codec_.RentIsacDecoder() : nullptr;
|
| }
|
|
|
| int CodecManager::CngPayloadType(int sample_rate_hz) const {
|
|
|