| 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 e4070c76aef7648c5ecba92a0fea1bff06d9e70b..ac21020dc2e3847b4e79b2dde50fad31f405092b 100644
|
| --- a/webrtc/modules/audio_coding/main/acm2/codec_manager.cc
|
| +++ b/webrtc/modules/audio_coding/main/acm2/codec_manager.cc
|
| @@ -319,8 +319,15 @@ void CodecManager::RegisterEncoder(AudioEncoder* external_speech_encoder) {
|
|
|
| if (send_codec_inst_.channels != 1)
|
| dtx_enabled_ = false;
|
| - codec_fec_enabled_ =
|
| - codec_fec_enabled_ && codec_owner_.Encoder()->SetFec(codec_fec_enabled_);
|
| + if (codec_fec_enabled_) {
|
| + // Switch FEC on. On failure, remember that FEC is off.
|
| + if (!external_speech_encoder->SetFec(true))
|
| + codec_fec_enabled_ = false;
|
| + } else {
|
| + // Switch FEC off. This shouldn't fail.
|
| + const bool success = external_speech_encoder->SetFec(false);
|
| + RTC_DCHECK(success);
|
| + }
|
| int cng_pt = dtx_enabled_
|
| ? CngPayloadType(external_speech_encoder->SampleRateHz())
|
| : -1;
|
|
|