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

Unified Diff: webrtc/modules/audio_processing/audio_processing_impl.cc

Issue 2995043002: AGC2 dummy module: fixed gain param, APM integration, audioproc_f adaptation (Closed)
Patch Set: UT fix Created 3 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_processing/audio_processing_impl.cc
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc
index f9659b82c4d597dcd1e58f5e7b21b95278cad951..06b0cc7023e1b86a336298a4bb57592ef96b657c 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.cc
+++ b/webrtc/modules/audio_processing/audio_processing_impl.cc
@@ -259,7 +259,7 @@ bool AudioProcessingImpl::ApmSubmoduleStates::CaptureMultiBandProcessingActive()
bool AudioProcessingImpl::ApmSubmoduleStates::CaptureFullBandProcessingActive()
const {
- return level_controller_enabled_;
+ return level_controller_enabled_ && gain_controller2_enabled_;
aleloi 2017/08/15 14:34:03 I've forgotten how the APM monster works again. Wh
}
bool AudioProcessingImpl::ApmSubmoduleStates::RenderMultiBandSubModulesActive()
@@ -711,24 +711,17 @@ void AudioProcessingImpl::ApplyConfig(const AudioProcessing::Config& config) {
<< capture_nonlocked_.echo_canceller3_enabled;
}
- config_ok = GainController2::Validate(config_.gain_controller2);
- if (!config_ok) {
+ if (!GainController2::Validate(config_.gain_controller2)) {
LOG(LS_ERROR) << "AudioProcessing module config error" << std::endl
- << "gain_controller2: "
+ << "Gain Controller 2: "
<< GainController2::ToString(config_.gain_controller2)
<< std::endl
<< "Reverting to default parameter set";
config_.gain_controller2 = AudioProcessing::Config::GainController2();
}
-
- if (config.gain_controller2.enabled !=
- capture_nonlocked_.gain_controller2_enabled) {
- capture_nonlocked_.gain_controller2_enabled =
- config_.gain_controller2.enabled;
- InitializeGainController2();
- LOG(LS_INFO) << "Gain controller 2 activated: "
- << capture_nonlocked_.gain_controller2_enabled;
- }
+ InitializeGainController2();
+ LOG(LS_INFO) << "Gain Controller 2 activated: "
+ << config_.gain_controller2.enabled;
}
void AudioProcessingImpl::SetExtraOptions(const webrtc::Config& config) {
@@ -1366,7 +1359,7 @@ int AudioProcessingImpl::ProcessCaptureStreamLocked() {
capture_.key_pressed);
}
- if (capture_nonlocked_.gain_controller2_enabled) {
+ if (config_.gain_controller2.enabled) {
private_submodules_->gain_controller2->Process(capture_buffer);
}
@@ -1827,7 +1820,7 @@ bool AudioProcessingImpl::UpdateActiveSubmoduleStates() {
capture_nonlocked_.intelligibility_enabled,
capture_nonlocked_.beamformer_enabled,
public_submodules_->gain_control->is_enabled(),
- capture_nonlocked_.gain_controller2_enabled,
+ config_.gain_controller2.enabled,
capture_nonlocked_.level_controller_enabled,
capture_nonlocked_.echo_canceller3_enabled,
public_submodules_->voice_detection->is_enabled(),
@@ -1889,9 +1882,12 @@ void AudioProcessingImpl::InitializeEchoCanceller3() {
}
void AudioProcessingImpl::InitializeGainController2() {
- if (capture_nonlocked_.gain_controller2_enabled) {
+ if (config_.gain_controller2.enabled) {
+ // TODO(alessiob): If GainController2 was already enabled and the fixed gain
+ // to apply hasn't changed do not re-initialize.
private_submodules_->gain_controller2.reset(
- new GainController2(proc_sample_rate_hz()));
+ new GainController2(config_.gain_controller2.fixed_gain_db));
+ private_submodules_->gain_controller2->Initialize(proc_sample_rate_hz());
aleloi 2017/08/15 14:34:03 proc_sample_rate_hz() is the right rate, right? So
AleBzk 2017/09/14 09:21:56 Thanks for your concern. Yes, I double-checked, it
} else {
private_submodules_->gain_controller2.reset();
}
@@ -1995,6 +1991,9 @@ void AudioProcessingImpl::WriteAecDumpConfigMessage(bool forced) {
if (capture_nonlocked_.echo_canceller3_enabled) {
experiments_description += "EchoCanceller3;";
}
+ if (config_.gain_controller2.enabled) {
+ experiments_description += "GainController2;";
+ }
InternalAPMConfig apm_config;

Powered by Google App Engine
This is Rietveld 408576698