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