Revert "Remove legacy delay manger field trial and update default config."
This reverts commit 93849d4b2a976b0a46059d6f74d9efd8f12eab92. Reason for revert: AcmReceiverBitExactnessOldApi tests failing on MacARM64; first failing build https://ci.chromium.org/ui/p/webrtc/builders/ci/MacARM64%20M1%20Release/1038/overview Example faliure [ RUN ] AcmReceiverBitExactnessOldApi.8kHzOutput ... (rtp_file_reader.cc:165): Failed to read ../../modules/audio_coding/acm2/audio_coding_module_unittest.cc:912: Failure Expected equality of these values: checksum_ref Which is: "636efe6d0a148f22c5383f356da3deac" checksum_string Which is: "6a288942d67e82076b38b17777cdaee4" Original change's description: > Remove legacy delay manger field trial and update default config. > > Bug: webrtc:10333 > Change-Id: I20e55d8d111d93657d1afe556fe3a325337c074c > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232820 > Reviewed-by: Ivo Creusen <ivoc@webrtc.org> > Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#35321} TBR=ivoc@webrtc.org,jakobi@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com Change-Id: I0bd3832aacba8dcd8e836650786cea20b4c083be No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:10333 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237441 Reviewed-by: Olga Sharonova <olka@webrtc.org> Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org> Commit-Queue: Olga Sharonova <olka@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35324}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
42a850d250
commit
46814941f2
@ -44,8 +44,8 @@ class DelayManagerTest : public ::testing::Test {
|
||||
absl::optional<int> InsertNextPacket();
|
||||
void IncreaseTime(int inc_ms);
|
||||
|
||||
TickTimer tick_timer_;
|
||||
DelayManager dm_;
|
||||
TickTimer tick_timer_;
|
||||
uint32_t ts_;
|
||||
};
|
||||
|
||||
@ -74,18 +74,39 @@ TEST_F(DelayManagerTest, CreateAndDestroy) {
|
||||
}
|
||||
|
||||
TEST_F(DelayManagerTest, UpdateNormal) {
|
||||
for (int i = 0; i < 50; ++i) {
|
||||
InsertNextPacket();
|
||||
IncreaseTime(kFrameSizeMs);
|
||||
}
|
||||
// First packet arrival.
|
||||
InsertNextPacket();
|
||||
// Advance time by one frame size.
|
||||
IncreaseTime(kFrameSizeMs);
|
||||
// Second packet arrival.
|
||||
InsertNextPacket();
|
||||
EXPECT_EQ(20, dm_.TargetDelayMs());
|
||||
}
|
||||
|
||||
TEST_F(DelayManagerTest, MaxDelay) {
|
||||
TEST_F(DelayManagerTest, UpdateLongInterArrivalTime) {
|
||||
// First packet arrival.
|
||||
InsertNextPacket();
|
||||
const int kMaxDelayMs = 60;
|
||||
EXPECT_GT(dm_.TargetDelayMs(), kMaxDelayMs);
|
||||
// Advance time by two frame size.
|
||||
IncreaseTime(2 * kFrameSizeMs);
|
||||
// Second packet arrival.
|
||||
InsertNextPacket();
|
||||
EXPECT_EQ(40, dm_.TargetDelayMs());
|
||||
}
|
||||
|
||||
TEST_F(DelayManagerTest, MaxDelay) {
|
||||
const int kExpectedTarget = 5 * kFrameSizeMs;
|
||||
// First packet arrival.
|
||||
InsertNextPacket();
|
||||
// Second packet arrival.
|
||||
IncreaseTime(kExpectedTarget);
|
||||
InsertNextPacket();
|
||||
|
||||
// No limit is set.
|
||||
EXPECT_EQ(kExpectedTarget, dm_.TargetDelayMs());
|
||||
|
||||
const int kMaxDelayMs = 3 * kFrameSizeMs;
|
||||
EXPECT_TRUE(dm_.SetMaximumDelay(kMaxDelayMs));
|
||||
IncreaseTime(kFrameSizeMs);
|
||||
InsertNextPacket();
|
||||
EXPECT_EQ(kMaxDelayMs, dm_.TargetDelayMs());
|
||||
|
||||
@ -94,9 +115,17 @@ TEST_F(DelayManagerTest, MaxDelay) {
|
||||
}
|
||||
|
||||
TEST_F(DelayManagerTest, MinDelay) {
|
||||
const int kExpectedTarget = 5 * kFrameSizeMs;
|
||||
// First packet arrival.
|
||||
InsertNextPacket();
|
||||
// Second packet arrival.
|
||||
IncreaseTime(kExpectedTarget);
|
||||
InsertNextPacket();
|
||||
|
||||
// No limit is applied.
|
||||
EXPECT_EQ(kExpectedTarget, dm_.TargetDelayMs());
|
||||
|
||||
int kMinDelayMs = 7 * kFrameSizeMs;
|
||||
EXPECT_LT(dm_.TargetDelayMs(), kMinDelayMs);
|
||||
dm_.SetMinimumDelay(kMinDelayMs);
|
||||
IncreaseTime(kFrameSizeMs);
|
||||
InsertNextPacket();
|
||||
@ -222,11 +251,48 @@ TEST_F(DelayManagerTest, MinimumDelayMemorization) {
|
||||
}
|
||||
|
||||
TEST_F(DelayManagerTest, BaseMinimumDelay) {
|
||||
const int kExpectedTarget = 5 * kFrameSizeMs;
|
||||
// First packet arrival.
|
||||
InsertNextPacket();
|
||||
// Second packet arrival.
|
||||
IncreaseTime(kExpectedTarget);
|
||||
InsertNextPacket();
|
||||
|
||||
// No limit is applied.
|
||||
EXPECT_EQ(kExpectedTarget, dm_.TargetDelayMs());
|
||||
|
||||
constexpr int kBaseMinimumDelayMs = 7 * kFrameSizeMs;
|
||||
EXPECT_LT(dm_.TargetDelayMs(), kBaseMinimumDelayMs);
|
||||
EXPECT_TRUE(dm_.SetBaseMinimumDelay(kBaseMinimumDelayMs));
|
||||
EXPECT_EQ(dm_.GetBaseMinimumDelay(), kBaseMinimumDelayMs);
|
||||
|
||||
IncreaseTime(kFrameSizeMs);
|
||||
InsertNextPacket();
|
||||
EXPECT_EQ(dm_.GetBaseMinimumDelay(), kBaseMinimumDelayMs);
|
||||
EXPECT_EQ(kBaseMinimumDelayMs, dm_.TargetDelayMs());
|
||||
}
|
||||
|
||||
TEST_F(DelayManagerTest, BaseMinimumDelayAffectsTargetDelay) {
|
||||
const int kExpectedTarget = 5;
|
||||
const int kTimeIncrement = kExpectedTarget * kFrameSizeMs;
|
||||
// First packet arrival.
|
||||
InsertNextPacket();
|
||||
// Second packet arrival.
|
||||
IncreaseTime(kTimeIncrement);
|
||||
InsertNextPacket();
|
||||
|
||||
// No limit is applied.
|
||||
EXPECT_EQ(kTimeIncrement, dm_.TargetDelayMs());
|
||||
|
||||
// Minimum delay is lower than base minimum delay, that is why base minimum
|
||||
// delay is used to calculate target level.
|
||||
constexpr int kMinimumDelayPackets = kExpectedTarget + 1;
|
||||
constexpr int kBaseMinimumDelayPackets = kExpectedTarget + 2;
|
||||
|
||||
constexpr int kMinimumDelayMs = kMinimumDelayPackets * kFrameSizeMs;
|
||||
constexpr int kBaseMinimumDelayMs = kBaseMinimumDelayPackets * kFrameSizeMs;
|
||||
|
||||
EXPECT_TRUE(kMinimumDelayMs < kBaseMinimumDelayMs);
|
||||
EXPECT_TRUE(dm_.SetMinimumDelay(kMinimumDelayMs));
|
||||
EXPECT_TRUE(dm_.SetBaseMinimumDelay(kBaseMinimumDelayMs));
|
||||
EXPECT_EQ(dm_.GetBaseMinimumDelay(), kBaseMinimumDelayMs);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user