Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(349)

Side by Side Diff: webrtc/modules/audio_coding/acm2/codec_manager.cc

Issue 1527453005: AudioCodingModuleImpl: Stop failing artificially for non-Opus encoders (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@rac1
Patch Set: rebase Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 const bool stereo_send = 159 const bool stereo_send =
160 codec_stack_params_.speech_encoder 160 codec_stack_params_.speech_encoder
161 ? (codec_stack_params_.speech_encoder->NumChannels() != 1) 161 ? (codec_stack_params_.speech_encoder->NumChannels() != 1)
162 : false; 162 : false;
163 if (enable && stereo_send) { 163 if (enable && stereo_send) {
164 WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceAudioCoding, 0, 164 WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceAudioCoding, 0,
165 "VAD/DTX not supported for stereo sending"); 165 "VAD/DTX not supported for stereo sending");
166 return false; 166 return false;
167 } 167 }
168 168
169 if (CurrentEncoderIsOpus()) { 169 // TODO(kwiberg): This doesn't protect Opus when injected as an external
170 // encoder.
171 if (send_codec_inst_ && IsOpus(*send_codec_inst_)) {
170 // VAD/DTX not supported, but don't fail. 172 // VAD/DTX not supported, but don't fail.
171 enable = false; 173 enable = false;
172 } 174 }
173 175
174 codec_stack_params_.use_cng = enable; 176 codec_stack_params_.use_cng = enable;
175 codec_stack_params_.vad_mode = mode; 177 codec_stack_params_.vad_mode = mode;
176 return true; 178 return true;
177 } 179 }
178 180
179 bool CodecManager::SetCodecFEC(bool enable_codec_fec) { 181 bool CodecManager::SetCodecFEC(bool enable_codec_fec) {
180 if (enable_codec_fec && codec_stack_params_.use_red) { 182 if (enable_codec_fec && codec_stack_params_.use_red) {
181 WEBRTC_TRACE(webrtc::kTraceWarning, webrtc::kTraceAudioCoding, 0, 183 WEBRTC_TRACE(webrtc::kTraceWarning, webrtc::kTraceAudioCoding, 0,
182 "Codec internal FEC and RED cannot be co-enabled."); 184 "Codec internal FEC and RED cannot be co-enabled.");
183 return false; 185 return false;
184 } 186 }
185 187
186 codec_stack_params_.use_codec_fec = enable_codec_fec; 188 codec_stack_params_.use_codec_fec = enable_codec_fec;
187 return true; 189 return true;
188 } 190 }
189 191
190 bool CodecManager::CurrentEncoderIsOpus() const {
191 return send_codec_inst_ ? IsOpus(*send_codec_inst_) : false;
192 }
193
194 } // namespace acm2 192 } // namespace acm2
195 } // namespace webrtc 193 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/audio_coding/acm2/codec_manager.h ('k') | webrtc/modules/audio_coding/test/TestVADDTX.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698