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

Side by Side Diff: webrtc/modules/audio_processing/audio_processing_impl.cc

Issue 1803433003: Removed the dependency on AudioProcessingImpl in EchoControlMobileImpl (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Added missing DCHECKS for the stream_properties_ Created 4 years, 9 months 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) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 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 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 config.Get<Beamforming>().target_direction), 163 config.Get<Beamforming>().target_direction),
164 capture_nonlocked_(config.Get<Beamforming>().enabled) 164 capture_nonlocked_(config.Get<Beamforming>().enabled)
165 { 165 {
166 { 166 {
167 rtc::CritScope cs_render(&crit_render_); 167 rtc::CritScope cs_render(&crit_render_);
168 rtc::CritScope cs_capture(&crit_capture_); 168 rtc::CritScope cs_capture(&crit_capture_);
169 169
170 public_submodules_->echo_cancellation.reset( 170 public_submodules_->echo_cancellation.reset(
171 new EchoCancellationImpl(this, &crit_render_, &crit_capture_)); 171 new EchoCancellationImpl(this, &crit_render_, &crit_capture_));
172 public_submodules_->echo_control_mobile.reset( 172 public_submodules_->echo_control_mobile.reset(
173 new EchoControlMobileImpl(this, &crit_render_, &crit_capture_)); 173 new EchoControlMobileImpl(&crit_render_, &crit_capture_));
174 public_submodules_->gain_control.reset( 174 public_submodules_->gain_control.reset(
175 new GainControlImpl(this, &crit_capture_, &crit_capture_)); 175 new GainControlImpl(this, &crit_capture_, &crit_capture_));
176 public_submodules_->high_pass_filter.reset( 176 public_submodules_->high_pass_filter.reset(
177 new HighPassFilterImpl(&crit_capture_)); 177 new HighPassFilterImpl(&crit_capture_));
178 public_submodules_->level_estimator.reset( 178 public_submodules_->level_estimator.reset(
179 new LevelEstimatorImpl(&crit_capture_)); 179 new LevelEstimatorImpl(&crit_capture_));
180 public_submodules_->noise_suppression.reset( 180 public_submodules_->noise_suppression.reset(
181 new NoiseSuppressionImpl(&crit_capture_)); 181 new NoiseSuppressionImpl(&crit_capture_));
182 public_submodules_->voice_detection.reset( 182 public_submodules_->voice_detection.reset(
183 new VoiceDetectionImpl(&crit_capture_)); 183 new VoiceDetectionImpl(&crit_capture_));
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
699 if (public_submodules_->echo_control_mobile->is_enabled() && 699 if (public_submodules_->echo_control_mobile->is_enabled() &&
700 public_submodules_->noise_suppression->is_enabled()) { 700 public_submodules_->noise_suppression->is_enabled()) {
701 ca->CopyLowPassToReference(); 701 ca->CopyLowPassToReference();
702 } 702 }
703 public_submodules_->noise_suppression->ProcessCaptureAudio(ca); 703 public_submodules_->noise_suppression->ProcessCaptureAudio(ca);
704 if (constants_.intelligibility_enabled) { 704 if (constants_.intelligibility_enabled) {
705 RTC_DCHECK(public_submodules_->noise_suppression->is_enabled()); 705 RTC_DCHECK(public_submodules_->noise_suppression->is_enabled());
706 public_submodules_->intelligibility_enhancer->SetCaptureNoiseEstimate( 706 public_submodules_->intelligibility_enhancer->SetCaptureNoiseEstimate(
707 public_submodules_->noise_suppression->NoiseEstimate()); 707 public_submodules_->noise_suppression->NoiseEstimate());
708 } 708 }
709 RETURN_ON_ERR( 709
710 public_submodules_->echo_control_mobile->ProcessCaptureAudio(ca)); 710 // Ensure that the stream delay was set before the call to the
711 // AECM ProcessCaptureAudio function.
712 if (public_submodules_->echo_control_mobile->is_enabled() &&
713 !was_stream_delay_set()) {
714 return AudioProcessing::kStreamParameterNotSetError;
715 }
716
717 RETURN_ON_ERR(public_submodules_->echo_control_mobile->ProcessCaptureAudio(
718 ca, stream_delay_ms()));
719
711 public_submodules_->voice_detection->ProcessCaptureAudio(ca); 720 public_submodules_->voice_detection->ProcessCaptureAudio(ca);
712 721
713 if (constants_.use_experimental_agc && 722 if (constants_.use_experimental_agc &&
714 public_submodules_->gain_control->is_enabled() && 723 public_submodules_->gain_control->is_enabled() &&
715 (!capture_nonlocked_.beamformer_enabled || 724 (!capture_nonlocked_.beamformer_enabled ||
716 private_submodules_->beamformer->is_target_present())) { 725 private_submodules_->beamformer->is_target_present())) {
717 private_submodules_->agc_manager->Process( 726 private_submodules_->agc_manager->Process(
718 ca->split_bands_const(0)[kBand0To8kHz], ca->num_frames_per_band(), 727 ca->split_bands_const(0)[kBand0To8kHz], ca->num_frames_per_band(),
719 capture_nonlocked_.split_rate); 728 capture_nonlocked_.split_rate);
720 } 729 }
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
1218 1227
1219 void AudioProcessingImpl::InitializeEchoCanceller() { 1228 void AudioProcessingImpl::InitializeEchoCanceller() {
1220 public_submodules_->echo_cancellation->Initialize(); 1229 public_submodules_->echo_cancellation->Initialize();
1221 } 1230 }
1222 1231
1223 void AudioProcessingImpl::InitializeGainController() { 1232 void AudioProcessingImpl::InitializeGainController() {
1224 public_submodules_->gain_control->Initialize(); 1233 public_submodules_->gain_control->Initialize();
1225 } 1234 }
1226 1235
1227 void AudioProcessingImpl::InitializeEchoControlMobile() { 1236 void AudioProcessingImpl::InitializeEchoControlMobile() {
1228 public_submodules_->echo_control_mobile->Initialize(); 1237 public_submodules_->echo_control_mobile->Initialize(
1238 proc_sample_rate_hz(), num_reverse_channels(), num_output_channels());
1229 } 1239 }
1230 1240
1231 void AudioProcessingImpl::InitializeLevelEstimator() { 1241 void AudioProcessingImpl::InitializeLevelEstimator() {
1232 public_submodules_->level_estimator->Initialize(); 1242 public_submodules_->level_estimator->Initialize();
1233 } 1243 }
1234 1244
1235 void AudioProcessingImpl::InitializeVoiceDetection() { 1245 void AudioProcessingImpl::InitializeVoiceDetection() {
1236 public_submodules_->voice_detection->Initialize(proc_split_sample_rate_hz()); 1246 public_submodules_->voice_detection->Initialize(proc_split_sample_rate_hz());
1237 } 1247 }
1238 1248
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
1430 debug_dump_.capture.event_msg->mutable_config()->CopyFrom(config); 1440 debug_dump_.capture.event_msg->mutable_config()->CopyFrom(config);
1431 1441
1432 RETURN_ON_ERR(WriteMessageToDebugFile(debug_dump_.debug_file.get(), 1442 RETURN_ON_ERR(WriteMessageToDebugFile(debug_dump_.debug_file.get(),
1433 &debug_dump_.num_bytes_left_for_log_, 1443 &debug_dump_.num_bytes_left_for_log_,
1434 &crit_debug_, &debug_dump_.capture)); 1444 &crit_debug_, &debug_dump_.capture));
1435 return kNoError; 1445 return kNoError;
1436 } 1446 }
1437 #endif // WEBRTC_AUDIOPROC_DEBUG_DUMP 1447 #endif // WEBRTC_AUDIOPROC_DEBUG_DUMP
1438 1448
1439 } // namespace webrtc 1449 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698