diff --git a/media/engine/webrtc_voice_engine.cc b/media/engine/webrtc_voice_engine.cc index 7ce5063cfe..ad72aae28e 100644 --- a/media/engine/webrtc_voice_engine.cc +++ b/media/engine/webrtc_voice_engine.cc @@ -609,10 +609,6 @@ bool WebRtcVoiceEngine::ApplyOptions(const AudioOptions& options_in) { apm_config.gain_controller1.mode = apm_config.gain_controller1.kAdaptiveAnalog; #endif - constexpr int kMinVolumeLevel = 0; - constexpr int kMaxVolumeLevel = 255; - apm_config.gain_controller1.analog_level_minimum = kMinVolumeLevel; - apm_config.gain_controller1.analog_level_maximum = kMaxVolumeLevel; } if (options.tx_agc_target_dbov) { apm_config.gain_controller1.target_level_dbfs = *options.tx_agc_target_dbov; diff --git a/media/engine/webrtc_voice_engine_unittest.cc b/media/engine/webrtc_voice_engine_unittest.cc index 088dba2501..97e46b2159 100644 --- a/media/engine/webrtc_voice_engine_unittest.cc +++ b/media/engine/webrtc_voice_engine_unittest.cc @@ -760,8 +760,6 @@ class WebRtcVoiceEngineTestFake : public ::testing::TestWithParam { void VerifyGainControlEnabledCorrectly() { EXPECT_TRUE(apm_config_.gain_controller1.enabled); EXPECT_EQ(kDefaultAgcMode, apm_config_.gain_controller1.mode); - EXPECT_EQ(0, apm_config_.gain_controller1.analog_level_minimum); - EXPECT_EQ(255, apm_config_.gain_controller1.analog_level_maximum); } void VerifyGainControlDefaultSettings() { diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc index e731943e6c..2b02a23b3d 100644 --- a/modules/audio_processing/audio_processing_impl.cc +++ b/modules/audio_processing/audio_processing_impl.cc @@ -1867,7 +1867,6 @@ void AudioProcessingImpl::InitializeGainController1() { submodules_.gain_control->Initialize(num_proc_channels(), proc_sample_rate_hz()); - if (!config_.gain_controller1.analog_gain_controller.enabled) { int error = submodules_.gain_control->set_mode( Agc1ConfigModeToInterfaceMode(config_.gain_controller1.mode)); @@ -1881,9 +1880,10 @@ void AudioProcessingImpl::InitializeGainController1() { error = submodules_.gain_control->enable_limiter( config_.gain_controller1.enable_limiter); RTC_DCHECK_EQ(kNoError, error); + constexpr int kAnalogLevelMinimum = 0; + constexpr int kAnalogLevelMaximum = 255; error = submodules_.gain_control->set_analog_level_limits( - config_.gain_controller1.analog_level_minimum, - config_.gain_controller1.analog_level_maximum); + kAnalogLevelMinimum, kAnalogLevelMaximum); RTC_DCHECK_EQ(kNoError, error); submodules_.agc_manager.reset(); diff --git a/modules/audio_processing/audio_processing_unittest.cc b/modules/audio_processing/audio_processing_unittest.cc index 9109e299fb..cfb19f95aa 100644 --- a/modules/audio_processing/audio_processing_unittest.cc +++ b/modules/audio_processing/audio_processing_unittest.cc @@ -200,8 +200,6 @@ void EnableAllAPComponents(AudioProcessing* ap) { apm_config.gain_controller1.enabled = true; apm_config.gain_controller1.mode = AudioProcessing::Config::GainController1::kAdaptiveAnalog; - apm_config.gain_controller1.analog_level_minimum = 0; - apm_config.gain_controller1.analog_level_maximum = 255; #endif apm_config.noise_suppression.enabled = true; @@ -1079,18 +1077,15 @@ TEST_F(ApmTest, GainControl) { EXPECT_EQ(apm_->kNoError, ProcessStreamChooser(kFloatFormat)); } - // Testing level limits - std::array kMinLevels = {0, 0, 255, 65000}; - std::array kMaxLevels = {255, 1024, 65535, 65535}; - for (size_t i = 0; i < kMinLevels.size(); ++i) { - int min_level = kMinLevels[i]; - int max_level = kMaxLevels[i]; - config.gain_controller1.analog_level_minimum = min_level; - config.gain_controller1.analog_level_maximum = max_level; - apm_->ApplyConfig(config); - apm_->set_stream_analog_level((min_level + max_level) / 2); - EXPECT_EQ(apm_->kNoError, ProcessStreamChooser(kFloatFormat)); - } + // Testing level limits. + constexpr int kMinLevel = 0; + constexpr int kMaxLevel = 255; + apm_->set_stream_analog_level(kMinLevel); + EXPECT_EQ(apm_->kNoError, ProcessStreamChooser(kFloatFormat)); + apm_->set_stream_analog_level((kMinLevel + kMaxLevel) / 2); + EXPECT_EQ(apm_->kNoError, ProcessStreamChooser(kFloatFormat)); + apm_->set_stream_analog_level(kMaxLevel); + EXPECT_EQ(apm_->kNoError, ProcessStreamChooser(kFloatFormat)); } #if RTC_DCHECK_IS_ON && GTEST_HAS_DEATH_TEST && !defined(WEBRTC_ANDROID) @@ -1124,44 +1119,18 @@ TEST_F(ApmDeathTest, GainControlDiesOnTooHighCompressionGainDb) { EXPECT_DEATH(apm_->ApplyConfig(config), ""); } -TEST_F(ApmDeathTest, GainControlDiesOnTooLowAnalogLevelLowerLimit) { - auto config = apm_->GetConfig(); - config.gain_controller1.enabled = true; - config.gain_controller1.analog_level_minimum = -1; - EXPECT_DEATH(apm_->ApplyConfig(config), ""); -} - -TEST_F(ApmDeathTest, GainControlDiesOnTooHighAnalogLevelUpperLimit) { - auto config = apm_->GetConfig(); - config.gain_controller1.enabled = true; - config.gain_controller1.analog_level_maximum = 65536; - EXPECT_DEATH(apm_->ApplyConfig(config), ""); -} - -TEST_F(ApmDeathTest, GainControlDiesOnInvertedAnalogLevelLimits) { - auto config = apm_->GetConfig(); - config.gain_controller1.enabled = true; - config.gain_controller1.analog_level_minimum = 512; - config.gain_controller1.analog_level_maximum = 255; - EXPECT_DEATH(apm_->ApplyConfig(config), ""); -} - TEST_F(ApmDeathTest, ApmDiesOnTooLowAnalogLevel) { auto config = apm_->GetConfig(); config.gain_controller1.enabled = true; - config.gain_controller1.analog_level_minimum = 255; - config.gain_controller1.analog_level_maximum = 512; apm_->ApplyConfig(config); - EXPECT_DEATH(apm_->set_stream_analog_level(254), ""); + EXPECT_DEATH(apm_->set_stream_analog_level(-1), ""); } TEST_F(ApmDeathTest, ApmDiesOnTooHighAnalogLevel) { auto config = apm_->GetConfig(); config.gain_controller1.enabled = true; - config.gain_controller1.analog_level_minimum = 255; - config.gain_controller1.analog_level_maximum = 512; apm_->ApplyConfig(config); - EXPECT_DEATH(apm_->set_stream_analog_level(513), ""); + EXPECT_DEATH(apm_->set_stream_analog_level(256), ""); } #endif @@ -2928,14 +2897,6 @@ TEST(AudioProcessing, GainController1ConfigEqual) { b.enable_limiter = a.enable_limiter; EXPECT_EQ(a, b); - a.analog_level_minimum++; - b.analog_level_minimum = a.analog_level_minimum; - EXPECT_EQ(a, b); - - a.analog_level_maximum--; - b.analog_level_maximum = a.analog_level_maximum; - EXPECT_EQ(a, b); - auto& a_analog = a.analog_gain_controller; auto& b_analog = b.analog_gain_controller; @@ -2982,14 +2943,6 @@ TEST(AudioProcessing, GainController1ConfigNotEqual) { EXPECT_NE(a, b); a = b; - a.analog_level_minimum++; - EXPECT_NE(a, b); - a = b; - - a.analog_level_maximum--; - EXPECT_NE(a, b); - a = b; - auto& a_analog = a.analog_gain_controller; const auto& b_analog = b.analog_gain_controller; diff --git a/modules/audio_processing/include/audio_processing.cc b/modules/audio_processing/include/audio_processing.cc index 63244ed0ea..0fd18fd956 100644 --- a/modules/audio_processing/include/audio_processing.cc +++ b/modules/audio_processing/include/audio_processing.cc @@ -60,8 +60,6 @@ bool Agc1Config::operator==(const Agc1Config& rhs) const { target_level_dbfs == rhs.target_level_dbfs && compression_gain_db == rhs.compression_gain_db && enable_limiter == rhs.enable_limiter && - analog_level_minimum == rhs.analog_level_minimum && - analog_level_maximum == rhs.analog_level_maximum && analog_lhs.enabled == analog_rhs.enabled && analog_lhs.startup_min_volume == analog_rhs.startup_min_volume && analog_lhs.clipped_level_min == analog_rhs.clipped_level_min && @@ -153,8 +151,6 @@ std::string AudioProcessing::Config::ToString() const { << ", target_level_dbfs: " << gain_controller1.target_level_dbfs << ", compression_gain_db: " << gain_controller1.compression_gain_db << ", enable_limiter: " << gain_controller1.enable_limiter - << ", analog_level_minimum: " << gain_controller1.analog_level_minimum - << ", analog_level_maximum: " << gain_controller1.analog_level_maximum << ", analog_gain_controller { enabled: " << gain_controller1.analog_gain_controller.enabled << ", startup_min_volume: " diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h index ac9cea4a77..b3ef3af9bd 100644 --- a/modules/audio_processing/include/audio_processing.h +++ b/modules/audio_processing/include/audio_processing.h @@ -291,10 +291,6 @@ class RTC_EXPORT AudioProcessing : public rtc::RefCountInterface { // target level. Otherwise, the signal will be compressed but not limited // above the target level. bool enable_limiter = true; - // Sets the minimum and maximum analog levels of the audio capture device. - // Must be set if an analog mode is used. Limited to [0, 65535]. - int analog_level_minimum = 0; - int analog_level_maximum = 255; // Enables the analog gain controller functionality. struct AnalogGainController { @@ -621,7 +617,7 @@ class RTC_EXPORT AudioProcessing : public rtc::RefCountInterface { // This must be called prior to ProcessStream() if and only if adaptive analog // gain control is enabled, to pass the current analog level from the audio - // HAL. Must be within the range provided in Config::GainController1. + // HAL. Must be within the range [0, 255]. virtual void set_stream_analog_level(int level) = 0; // When an analog mode is set, this should be called after ProcessStream()