Add field trial to introduce extra delay after target level calculation.
Bug: webrtc:10817
Change-Id: Id9eced821df2859b2cb7174062b6f5e29e145f62
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145902
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28825}
diff --git a/modules/audio_coding/neteq/delay_manager_unittest.cc b/modules/audio_coding/neteq/delay_manager_unittest.cc
index a8e2b3d..2d15e47 100644
--- a/modules/audio_coding/neteq/delay_manager_unittest.cc
+++ b/modules/audio_coding/neteq/delay_manager_unittest.cc
@@ -850,4 +850,27 @@
}
}
+TEST_F(DelayManagerTest, ExtraDelay) {
+ {
+ // Default behavior. Insert two packets so that a new target level is
+ // calculated.
+ SetPacketAudioLength(kFrameSizeMs);
+ InsertNextPacket();
+ IncreaseTime(kFrameSizeMs);
+ InsertNextPacket();
+ EXPECT_EQ(dm_->TargetLevel(), 1 << 8);
+ }
+ {
+ // Add 80 ms extra delay and calculate a new target level.
+ test::ScopedFieldTrials field_trial(
+ "WebRTC-Audio-NetEqExtraDelay/Enabled-80/");
+ RecreateDelayManager();
+ SetPacketAudioLength(kFrameSizeMs);
+ InsertNextPacket();
+ IncreaseTime(kFrameSizeMs);
+ InsertNextPacket();
+ EXPECT_EQ(dm_->TargetLevel(), 5 << 8);
+ }
+}
+
} // namespace webrtc