| 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 7b9c7ed5a949db37b8dbd842a1389fd99efbf479..863a86eae5fcb3a821bbcc9b91bb9c4ade5033ee 100644
|
| --- a/webrtc/modules/audio_coding/main/acm2/codec_manager.cc
|
| +++ b/webrtc/modules/audio_coding/main/acm2/codec_manager.cc
|
| @@ -164,7 +164,8 @@ CodecManager::CodecManager()
|
| vad_mode_(VADNormal),
|
| send_codec_inst_(kEmptyCodecInst),
|
| red_enabled_(false),
|
| - codec_fec_enabled_(false) {
|
| + codec_fec_enabled_(false),
|
| + encoder_is_opus_(false) {
|
| // Register the default payload type for RED and for CNG at sampling rates of
|
| // 8, 16, 32 and 48 kHz.
|
| for (int i = (ACMCodecDB::kNumCodecs - 1); i >= 0; i--) {
|
| @@ -275,6 +276,8 @@ int CodecManager::RegisterEncoder(const CodecInst& send_codec) {
|
| red_enabled_ = false;
|
| }
|
|
|
| + encoder_is_opus_ = IsOpus(send_codec);
|
| +
|
| if (new_codec) {
|
| // This is a new codec. Register it and return.
|
| DCHECK(CodecSupported(send_codec));
|
| @@ -287,9 +290,8 @@ int CodecManager::RegisterEncoder(const CodecInst& send_codec) {
|
| vad_mode_, red_enabled_ ? RedPayloadType(send_codec.plfreq) : -1);
|
| DCHECK(codec_owner_.Encoder());
|
|
|
| - codec_fec_enabled_ =
|
| - codec_fec_enabled_ &&
|
| - codec_owner_.SpeechEncoder()->SetFec(codec_fec_enabled_);
|
| + codec_fec_enabled_ = codec_fec_enabled_ &&
|
| + codec_owner_.Encoder()->SetFec(codec_fec_enabled_);
|
|
|
| send_codec_inst_ = send_codec;
|
| return 0;
|
| @@ -311,18 +313,17 @@ int CodecManager::RegisterEncoder(const CodecInst& send_codec) {
|
|
|
| // Check if a change in Rate is required.
|
| if (send_codec.rate != send_codec_inst_.rate) {
|
| - codec_owner_.SpeechEncoder()->SetTargetBitrate(send_codec.rate);
|
| + codec_owner_.Encoder()->SetTargetBitrate(send_codec.rate);
|
| send_codec_inst_.rate = send_codec.rate;
|
| }
|
|
|
| - codec_fec_enabled_ = codec_fec_enabled_ &&
|
| - codec_owner_.SpeechEncoder()->SetFec(codec_fec_enabled_);
|
| + codec_fec_enabled_ =
|
| + codec_fec_enabled_ && codec_owner_.Encoder()->SetFec(codec_fec_enabled_);
|
|
|
| return 0;
|
| }
|
|
|
| -void CodecManager::RegisterEncoder(
|
| - AudioEncoderMutable* external_speech_encoder) {
|
| +void CodecManager::RegisterEncoder(AudioEncoder* external_speech_encoder) {
|
| // Make up a CodecInst.
|
| send_codec_inst_.channels = external_speech_encoder->NumChannels();
|
| send_codec_inst_.plfreq = external_speech_encoder->SampleRateHz();
|
| @@ -337,8 +338,8 @@ void CodecManager::RegisterEncoder(
|
|
|
| if (stereo_send_)
|
| dtx_enabled_ = false;
|
| - codec_fec_enabled_ = codec_fec_enabled_ &&
|
| - codec_owner_.SpeechEncoder()->SetFec(codec_fec_enabled_);
|
| + codec_fec_enabled_ =
|
| + codec_fec_enabled_ && codec_owner_.Encoder()->SetFec(codec_fec_enabled_);
|
| int cng_pt = dtx_enabled_
|
| ? CngPayloadType(external_speech_encoder->SampleRateHz())
|
| : -1;
|
| @@ -430,9 +431,9 @@ int CodecManager::SetCodecFEC(bool enable_codec_fec) {
|
| return -1;
|
| }
|
|
|
| - CHECK(codec_owner_.SpeechEncoder());
|
| - codec_fec_enabled_ = codec_owner_.SpeechEncoder()->SetFec(enable_codec_fec) &&
|
| - enable_codec_fec;
|
| + CHECK(codec_owner_.Encoder());
|
| + codec_fec_enabled_ =
|
| + codec_owner_.Encoder()->SetFec(enable_codec_fec) && enable_codec_fec;
|
| return codec_fec_enabled_ == enable_codec_fec ? 0 : -1;
|
| }
|
|
|
|
|