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

Unified Diff: webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc

Issue 1917793002: Remove SendPacer from ViEEncoder (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased Created 4 years, 8 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/bitrate_controller/bitrate_controller_unittest.cc
diff --git a/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc b/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
index 3f467ef8a46e16ecb668c6ac35131fbd26d7e2bf..4fd112310c1632bac9fbc08cb9017585f69f3b61 100644
--- a/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
+++ b/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
@@ -14,11 +14,16 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "webrtc/modules/bitrate_controller/include/bitrate_controller.h"
+#include "webrtc/modules/pacing/mock/mock_paced_sender.h"
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
-using webrtc::RtcpBandwidthObserver;
-using webrtc::BitrateObserver;
+using ::testing::Exactly;
+using ::testing::Return;
+
using webrtc::BitrateController;
+using webrtc::BitrateObserver;
+using webrtc::PacedSender;
+using webrtc::RtcpBandwidthObserver;
uint8_t WeightedLoss(int num_packets1, uint8_t fraction_loss1,
int num_packets2, uint8_t fraction_loss2) {
@@ -61,8 +66,8 @@ class BitrateControllerTest : public ::testing::Test {
~BitrateControllerTest() {}
virtual void SetUp() {
- controller_ =
- BitrateController::CreateBitrateController(&clock_, &bitrate_observer_);
+ controller_ = BitrateController::CreateBitrateController(
+ &clock_, &bitrate_observer_, &pacer_);
controller_->SetStartBitrate(kStartBitrateBps);
EXPECT_EQ(kStartBitrateBps, bitrate_observer_.last_bitrate_);
controller_->SetMinMaxBitrate(kMinBitrateBps, kMaxBitrateBps);
@@ -84,6 +89,7 @@ class BitrateControllerTest : public ::testing::Test {
webrtc::SimulatedClock clock_;
TestBitrateObserver bitrate_observer_;
+ testing::NiceMock<webrtc::MockPacedSender> pacer_;
BitrateController* controller_;
RtcpBandwidthObserver* bandwidth_observer_;
};
@@ -399,3 +405,20 @@ TEST_F(BitrateControllerTest, SetReservedBitrate) {
bandwidth_observer_->OnReceivedEstimatedBitrate(1);
EXPECT_EQ(100000, bitrate_observer_.last_bitrate_);
}
+
+TEST_F(BitrateControllerTest, OnSendQueueFull) {
+ bandwidth_observer_->OnReceivedEstimatedBitrate(200000);
+ EXPECT_EQ(200000, bitrate_observer_.last_bitrate_);
+ // Let the pacer be full next time the controller checks.
+ EXPECT_CALL(pacer_, ExpectedQueueTimeMs())
+ .WillOnce(Return(PacedSender::kMaxQueueLengthMs + 1));
+ clock_.AdvanceTimeMilliseconds(25);
+ controller_->Process();
+ EXPECT_EQ(0, bitrate_observer_.last_bitrate_);
+ // Let the pacer not be full next time the controller checks.
+ EXPECT_CALL(pacer_, ExpectedQueueTimeMs())
+ .WillOnce(Return(PacedSender::kMaxQueueLengthMs - 1));
+ clock_.AdvanceTimeMilliseconds(25);
+ controller_->Process();
+ EXPECT_EQ(200000, bitrate_observer_.last_bitrate_);
+}

Powered by Google App Engine
This is Rietveld 408576698