Adding the option to experiment with the max_allowed_excess_render_blocks parameter.

Bug: webrtc:337900458
Change-Id: I2108c7c67eb9aa460932efe881760924109b1915
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349460
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42207}
This commit is contained in:
Jesús de Vicente Peña 2024-04-30 10:45:08 +02:00 committed by WebRTC LUCI CQ
parent 3baefbf2dd
commit eeff850106
3 changed files with 20 additions and 0 deletions

View File

@ -41,6 +41,9 @@ class FieldTrial:
# registered in the container below.
ACTIVE_FIELD_TRIALS: FrozenSet[FieldTrial] = frozenset([
# keep-sorted start
FieldTrial('WebRTC-Aec3BufferingMaxAllowedExcessRenderBlocksOverride',
337900458,
date(2024, 9, 1)),
FieldTrial('WebRTC-Audio-GainController2',
42232605,
date(2024, 4, 1)),

View File

@ -633,6 +633,13 @@ EchoCanceller3Config AdjustConfig(const EchoCanceller3Config& config) {
"WebRTC-Aec3DelayEstimateSmoothingDelayFoundOverride", 0.f, 1.f,
&adjusted_cfg.delay.delay_estimate_smoothing_delay_found);
int max_allowed_excess_render_blocks_override =
adjusted_cfg.buffering.max_allowed_excess_render_blocks;
RetrieveFieldTrialValue(
"WebRTC-Aec3BufferingMaxAllowedExcessRenderBlocksOverride", 0, 20,
&max_allowed_excess_render_blocks_override);
adjusted_cfg.buffering.max_allowed_excess_render_blocks =
max_allowed_excess_render_blocks_override;
return adjusted_cfg;
}

View File

@ -924,6 +924,16 @@ TEST(EchoCanceller3FieldTrials, Aec3UseNearendReverb) {
EXPECT_FLOAT_EQ(adjusted_config.ep_strength.nearend_len, 0.8);
}
// Testing the field trial-based that overrides the maximum allowed ecess render
// blocks in the render buffering.
TEST(EchoCanceller3FieldTrials, Aec3BufferingMaxAllowedExcessRenderBlocks) {
webrtc::test::ScopedFieldTrials field_trials(
"WebRTC-Aec3BufferingMaxAllowedExcessRenderBlocksOverride/2/");
EchoCanceller3Config default_config;
EchoCanceller3Config adjusted_config = AdjustConfig(default_config);
EXPECT_EQ(adjusted_config.buffering.max_allowed_excess_render_blocks, 2ul);
}
TEST(EchoCanceller3, DetectionOfProperStereo) {
constexpr int kSampleRateHz = 16000;
constexpr int kNumChannels = 2;