| 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; | 
|  |