Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Unified Diff: webrtc/modules/pacing/paced_sender_unittest.cc

Issue 2719183004: Avoid busy looping in case of send failure when probing. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/pacing/paced_sender_unittest.cc
diff --git a/webrtc/modules/pacing/paced_sender_unittest.cc b/webrtc/modules/pacing/paced_sender_unittest.cc
index cc4769e66761170e879200ba6ad360cb6afe78a7..6c5e3df2809733d967f5b6124ad3b4802ab4ae81 100644
--- a/webrtc/modules/pacing/paced_sender_unittest.cc
+++ b/webrtc/modules/pacing/paced_sender_unittest.cc
@@ -1046,5 +1046,32 @@ TEST_F(PacedSenderTest, ProbeClusterId) {
send_bucket_->Process();
}
+TEST_F(PacedSenderTest, AvoidBusyLoopOnSendFailure) {
+ uint32_t ssrc = 12346;
+ uint16_t sequence_number = 1234;
+ const size_t kPacketSize = kFirstClusterBps / (8000 / 10);
+
+ send_bucket_->SetSendBitrateLimits(kTargetBitrateBps, kTargetBitrateBps);
+ send_bucket_->SetProbingEnabled(true);
+ send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc,
+ sequence_number, clock_.TimeInMilliseconds(),
+ kPacketSize, false);
+
+ EXPECT_CALL(callback_, TimeToSendPacket(_, _, _, _, _))
+ .WillOnce(Return(true));
+ send_bucket_->Process();
+ EXPECT_EQ(10, send_bucket_->TimeUntilNextProcess());
+ clock_.AdvanceTimeMilliseconds(9);
+
+ EXPECT_CALL(callback_, TimeToSendPadding(_, _))
+ .Times(2)
+ .WillRepeatedly(Return(0));
+ send_bucket_->Process();
+ EXPECT_EQ(1, send_bucket_->TimeUntilNextProcess());
+ clock_.AdvanceTimeMilliseconds(1);
+ send_bucket_->Process();
+ EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess());
+}
+
} // namespace test
} // namespace webrtc
« webrtc/modules/pacing/paced_sender.cc ('K') | « webrtc/modules/pacing/paced_sender.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698