mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 05:40:42 +01:00
AgcManagerDirect: improve AgcMinMicLevelExperimentEnabled50 test
Also test the field trial with valid parameter and non-empty suffix. Bug: webrtc:7494 Change-Id: I3d871b41dd71c951ac56e180b3c09cda4c3627d4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251441 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36031}
This commit is contained in:
parent
8968bcae8d
commit
feac97bb25
1 changed files with 24 additions and 16 deletions
|
@ -128,13 +128,15 @@ void CallPreProcessAudioBuffer(int num_calls,
|
|||
}
|
||||
}
|
||||
|
||||
std::string GetAgcMinMicLevelExperimentFieldTrial(int enabled_value) {
|
||||
std::string GetAgcMinMicLevelExperimentFieldTrial(
|
||||
int enabled_value,
|
||||
const std::string& suffix = "") {
|
||||
RTC_DCHECK_GE(enabled_value, 0);
|
||||
RTC_DCHECK_LE(enabled_value, 255);
|
||||
char field_trial_buffer[64];
|
||||
rtc::SimpleStringBuilder builder(field_trial_buffer);
|
||||
builder << "WebRTC-Audio-AgcMinMicLevelExperiment/Enabled-" << enabled_value
|
||||
<< "/";
|
||||
<< suffix << "/";
|
||||
return builder.str();
|
||||
}
|
||||
|
||||
|
@ -883,14 +885,17 @@ TEST(AgcManagerDirectStandaloneTest, AgcMinMicLevelExperiment) {
|
|||
}
|
||||
|
||||
TEST(AgcManagerDirectStandaloneTest, AgcMinMicLevelExperimentDisabled) {
|
||||
for (const std::string& field_trial_suffix : {"", "_20220210"}) {
|
||||
test::ScopedFieldTrials field_trial(
|
||||
"WebRTC-Audio-AgcMinMicLevelExperiment/Disabled/");
|
||||
"WebRTC-Audio-AgcMinMicLevelExperiment/Disabled" + field_trial_suffix +
|
||||
"/");
|
||||
std::unique_ptr<AgcManagerDirect> manager =
|
||||
CreateAgcManagerDirect(kInitialVolume, kClippedLevelStep,
|
||||
kClippedRatioThreshold, kClippedWaitFrames);
|
||||
EXPECT_EQ(manager->channel_agcs_[0]->min_mic_level(), kMinMicLevel);
|
||||
EXPECT_EQ(manager->channel_agcs_[0]->startup_min_level(), kInitialVolume);
|
||||
}
|
||||
}
|
||||
|
||||
// Checks that a field-trial parameter outside of the valid range [0,255] is
|
||||
// ignored.
|
||||
|
@ -921,14 +926,17 @@ TEST(AgcManagerDirectStandaloneTest, AgcMinMicLevelExperimentOutOfRangeBelow) {
|
|||
// changed.
|
||||
TEST(AgcManagerDirectStandaloneTest, AgcMinMicLevelExperimentEnabled50) {
|
||||
constexpr int kMinMicLevelOverride = 50;
|
||||
test::ScopedFieldTrials field_trial(
|
||||
GetAgcMinMicLevelExperimentFieldTrial(kMinMicLevelOverride));
|
||||
for (const std::string& field_trial_suffix : {"", "_20220210"}) {
|
||||
SCOPED_TRACE(field_trial_suffix);
|
||||
test::ScopedFieldTrials field_trial(GetAgcMinMicLevelExperimentFieldTrial(
|
||||
kMinMicLevelOverride, field_trial_suffix));
|
||||
std::unique_ptr<AgcManagerDirect> manager =
|
||||
CreateAgcManagerDirect(kInitialVolume, kClippedLevelStep,
|
||||
kClippedRatioThreshold, kClippedWaitFrames);
|
||||
EXPECT_EQ(manager->channel_agcs_[0]->min_mic_level(), kMinMicLevelOverride);
|
||||
EXPECT_EQ(manager->channel_agcs_[0]->startup_min_level(), kInitialVolume);
|
||||
}
|
||||
}
|
||||
|
||||
// Checks that, when the "WebRTC-Audio-AgcMinMicLevelExperiment" field trial is
|
||||
// specified with a valid value, the mic level never gets lowered beyond the
|
||||
|
|
Loading…
Reference in a new issue