| 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 3ef45a4199ff341bea63f8d953ae1046fbc917b7..45c53ed3b074f4dbf357b80ad71bc4537e58c966 100644
|
| --- a/webrtc/modules/pacing/paced_sender_unittest.cc
|
| +++ b/webrtc/modules/pacing/paced_sender_unittest.cc
|
| @@ -861,5 +861,43 @@ TEST_F(PacedSenderTest, AverageQueueTime) {
|
| EXPECT_EQ(0, send_bucket_->AverageQueueTimeMs());
|
| }
|
|
|
| +TEST_F(PacedSenderTest, CanSendMorePackets) {
|
| + uint32_t ssrc = 12346;
|
| + uint16_t sequence_number = 1234;
|
| + EXPECT_TRUE(send_bucket_->CanSendMorePackets());
|
| + send_bucket_->Pause();
|
| + EXPECT_FALSE(send_bucket_->CanSendMorePackets());
|
| + send_bucket_->Resume();
|
| + EXPECT_TRUE(send_bucket_->CanSendMorePackets());
|
| +
|
| + const size_t packets_to_fill_send_queue =
|
| + kTargetBitrateBps * PacedSender::kDefaultPaceMultiplier *
|
| + PacedSender::kMaxQueueLengthMs / (8 * 1000 * 1000);
|
| +
|
| + const size_t packets_to_send_per_interval =
|
| + kTargetBitrateBps * PacedSender::kDefaultPaceMultiplier /
|
| + (8 * 1000 * 200) +
|
| + 1; // One more than expected due to rounding.
|
| + // Packets send during one interval.
|
| + for (size_t i = 0; i < packets_to_send_per_interval; ++i) {
|
| + SendAndExpectPacket(PacedSender::kNormalPriority, ssrc, sequence_number++,
|
| + clock_.TimeInMilliseconds(), 1000, false);
|
| + }
|
| +
|
| + for (size_t i = 0;
|
| + i < packets_to_fill_send_queue - packets_to_send_per_interval - 1; ++i) {
|
| + send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc,
|
| + sequence_number++, clock_.TimeInMilliseconds(),
|
| + 1000, false);
|
| + }
|
| + EXPECT_TRUE(send_bucket_->CanSendMorePackets());
|
| + send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc,
|
| + sequence_number++, clock_.TimeInMilliseconds(),
|
| + 1000, false);
|
| + EXPECT_FALSE(send_bucket_->CanSendMorePackets());
|
| + send_bucket_->Process();
|
| + EXPECT_TRUE(send_bucket_->CanSendMorePackets());
|
| +}
|
| +
|
| } // namespace test
|
| } // namespace webrtc
|
|
|