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