APM: mirror "unusued min startup volume param removed" CL in AGC2

See https://webrtc-review.googlesource.com/c/src/+/278787

Bug: webrtc:7494
Change-Id: Ie8ad8acc1d2e373d59d943282701e3483e980806
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/282821
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38588}
This commit is contained in:
Alessio Bazzica 2022-11-09 11:06:58 +01:00 committed by WebRTC LUCI CQ
parent 3daf696188
commit 90c08d0b2e
3 changed files with 5 additions and 27 deletions

View File

@ -86,10 +86,6 @@ absl::optional<int> GetMinMicLevelOverride() {
}
}
int ClampLevel(int mic_level, int min_mic_level) {
return rtc::SafeClamp(mic_level, min_mic_level, kMaxMicLevel);
}
int LevelFromGainError(int gain_error, int level, int min_mic_level) {
RTC_DCHECK_GE(level, 0);
RTC_DCHECK_LE(level, kMaxMicLevel);
@ -178,12 +174,10 @@ int GetSpeechLevelErrorDb(float speech_level_dbfs,
} // namespace
MonoInputVolumeController::MonoInputVolumeController(int startup_min_level,
int clipped_level_min,
MonoInputVolumeController::MonoInputVolumeController(int clipped_level_min,
int min_mic_level)
: min_mic_level_(min_mic_level),
max_level_(kMaxMicLevel),
startup_min_level_(ClampLevel(startup_min_level, min_mic_level_)),
clipped_level_min_(clipped_level_min) {}
MonoInputVolumeController::~MonoInputVolumeController() = default;
@ -316,9 +310,8 @@ int MonoInputVolumeController::CheckVolumeAndReset() {
}
RTC_DLOG(LS_INFO) << "[agc] Initial GetMicVolume()=" << level;
int minLevel = startup_ ? startup_min_level_ : min_mic_level_;
if (level < minLevel) {
level = minLevel;
if (level < min_mic_level_) {
level = min_mic_level_;
RTC_DLOG(LS_INFO) << "[agc] Initial volume too low, raising to " << level;
recommended_input_volume_ = level;
}
@ -379,11 +372,10 @@ InputVolumeController::InputVolumeController(int num_capture_channels,
<< " (overridden: "
<< (min_mic_level_override_.has_value() ? "yes" : "no")
<< ")";
RTC_LOG(LS_INFO) << "[agc] Startup min volume: " << config.startup_min_volume;
for (auto& controller : channel_controllers_) {
controller = std::make_unique<MonoInputVolumeController>(
config.startup_min_volume, config.clipped_level_min, min_mic_level);
config.clipped_level_min, min_mic_level);
}
RTC_DCHECK(!channel_controllers_.empty());

View File

@ -183,9 +183,7 @@ class InputVolumeController final {
// convention.
class MonoInputVolumeController {
public:
MonoInputVolumeController(int startup_min_level,
int clipped_level_min,
int min_mic_level);
MonoInputVolumeController(int clipped_level_min, int min_mic_level);
~MonoInputVolumeController();
MonoInputVolumeController(const MonoInputVolumeController&) = delete;
MonoInputVolumeController& operator=(const MonoInputVolumeController&) =
@ -214,7 +212,6 @@ class MonoInputVolumeController {
// Only used for testing.
int min_mic_level() const { return min_mic_level_; }
int startup_min_level() const { return startup_min_level_; }
private:
// Sets a new input volume, after first checking that it hasn't been updated
@ -240,7 +237,6 @@ class MonoInputVolumeController {
bool capture_output_used_ = true;
bool check_volume_on_next_process_ = true;
bool startup_ = true;
int startup_min_level_;
// TODO(bugs.webrtc.org/7494): Create a separate member for the applied
// input volume.

View File

@ -947,8 +947,6 @@ TEST(InputVolumeControllerTest, AgcMinMicLevelExperimentDefault) {
CreateInputVolumeController(kInitialInputVolume, kClippedLevelStep,
kClippedRatioThreshold, kClippedWaitFrames);
EXPECT_EQ(manager->channel_controllers_[0]->min_mic_level(), kMinMicLevel);
EXPECT_EQ(manager->channel_controllers_[0]->startup_min_level(),
kInitialInputVolume);
}
TEST(InputVolumeControllerTest, AgcMinMicLevelExperimentDisabled) {
@ -960,8 +958,6 @@ TEST(InputVolumeControllerTest, AgcMinMicLevelExperimentDisabled) {
kClippedRatioThreshold, kClippedWaitFrames);
EXPECT_EQ(manager->channel_controllers_[0]->min_mic_level(), kMinMicLevel);
EXPECT_EQ(manager->channel_controllers_[0]->startup_min_level(),
kInitialInputVolume);
}
}
@ -974,8 +970,6 @@ TEST(InputVolumeControllerTest, AgcMinMicLevelExperimentOutOfRangeAbove) {
CreateInputVolumeController(kInitialInputVolume, kClippedLevelStep,
kClippedRatioThreshold, kClippedWaitFrames);
EXPECT_EQ(manager->channel_controllers_[0]->min_mic_level(), kMinMicLevel);
EXPECT_EQ(manager->channel_controllers_[0]->startup_min_level(),
kInitialInputVolume);
}
// Checks that a field-trial parameter outside of the valid range [0,255] is
@ -987,8 +981,6 @@ TEST(InputVolumeControllerTest, AgcMinMicLevelExperimentOutOfRangeBelow) {
CreateInputVolumeController(kInitialInputVolume, kClippedLevelStep,
kClippedRatioThreshold, kClippedWaitFrames);
EXPECT_EQ(manager->channel_controllers_[0]->min_mic_level(), kMinMicLevel);
EXPECT_EQ(manager->channel_controllers_[0]->startup_min_level(),
kInitialInputVolume);
}
// Verifies that a valid experiment changes the minimum microphone level. The
@ -1007,8 +999,6 @@ TEST(InputVolumeControllerTest, AgcMinMicLevelExperimentEnabled50) {
EXPECT_EQ(manager->channel_controllers_[0]->min_mic_level(),
kMinMicLevelOverride);
EXPECT_EQ(manager->channel_controllers_[0]->startup_min_level(),
kInitialInputVolume);
}
}