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

Side by Side Diff: webrtc/modules/pacing/paced_sender_unittest.cc

Issue 2246403002: CongestionController::SetBweBitrates may now trigger probing. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Don't set probing state to active in the case of no clusters. Created 4 years, 4 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 unified diff | Download patch
« no previous file with comments | « webrtc/modules/pacing/paced_sender.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 int packets_sent_; 103 int packets_sent_;
104 Clock* clock_; 104 Clock* clock_;
105 }; 105 };
106 106
107 class PacedSenderTest : public ::testing::Test { 107 class PacedSenderTest : public ::testing::Test {
108 protected: 108 protected:
109 PacedSenderTest() : clock_(123456) { 109 PacedSenderTest() : clock_(123456) {
110 srand(0); 110 srand(0);
111 // Need to initialize PacedSender after we initialize clock. 111 // Need to initialize PacedSender after we initialize clock.
112 send_bucket_.reset(new PacedSender(&clock_, &callback_)); 112 send_bucket_.reset(new PacedSender(&clock_, &callback_));
113 send_bucket_->CreateProbeCluster(900000, 6);
114 send_bucket_->CreateProbeCluster(1800000, 5);
113 // Default to bitrate probing disabled for testing purposes. Probing tests 115 // Default to bitrate probing disabled for testing purposes. Probing tests
114 // have to enable probing, either by creating a new PacedSender instance or 116 // have to enable probing, either by creating a new PacedSender instance or
115 // by calling SetProbingEnabled(true). 117 // by calling SetProbingEnabled(true).
116 send_bucket_->SetProbingEnabled(false); 118 send_bucket_->SetProbingEnabled(false);
117 send_bucket_->SetEstimatedBitrate(kTargetBitrateBps); 119 send_bucket_->SetEstimatedBitrate(kTargetBitrateBps);
118 120
119 clock_.AdvanceTimeMilliseconds(send_bucket_->TimeUntilNextProcess()); 121 clock_.AdvanceTimeMilliseconds(send_bucket_->TimeUntilNextProcess());
120 } 122 }
121 123
122 void SendAndExpectPacket(PacedSender::Priority priority, 124 void SendAndExpectPacket(PacedSender::Priority priority,
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after
807 const size_t kPacketSize = 1200; 809 const size_t kPacketSize = 1200;
808 const int kInitialBitrateBps = 300000; 810 const int kInitialBitrateBps = 300000;
809 uint32_t ssrc = 12346; 811 uint32_t ssrc = 12346;
810 uint16_t sequence_number = 1234; 812 uint16_t sequence_number = 1234;
811 813
812 const int expected_deltas[kNumDeltas] = {10, 10, 10, 10, 10, 5, 5, 5, 5, 5}; 814 const int expected_deltas[kNumDeltas] = {10, 10, 10, 10, 10, 5, 5, 5, 5, 5};
813 std::list<int> expected_deltas_list(expected_deltas, 815 std::list<int> expected_deltas_list(expected_deltas,
814 expected_deltas + kNumDeltas); 816 expected_deltas + kNumDeltas);
815 PacedSenderProbing callback(expected_deltas_list, &clock_); 817 PacedSenderProbing callback(expected_deltas_list, &clock_);
816 send_bucket_.reset(new PacedSender(&clock_, &callback)); 818 send_bucket_.reset(new PacedSender(&clock_, &callback));
819 send_bucket_->CreateProbeCluster(900000, 6);
820 send_bucket_->CreateProbeCluster(1800000, 5);
817 send_bucket_->SetEstimatedBitrate(kInitialBitrateBps); 821 send_bucket_->SetEstimatedBitrate(kInitialBitrateBps);
818 822
819 for (int i = 0; i < kNumPackets; ++i) { 823 for (int i = 0; i < kNumPackets; ++i) {
820 send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc, 824 send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc,
821 sequence_number++, clock_.TimeInMilliseconds(), 825 sequence_number++, clock_.TimeInMilliseconds(),
822 kPacketSize, false); 826 kPacketSize, false);
823 } 827 }
824 828
825 while (callback.packets_sent() < kNumPackets) { 829 while (callback.packets_sent() < kNumPackets) {
826 int time_until_process = send_bucket_->TimeUntilNextProcess(); 830 int time_until_process = send_bucket_->TimeUntilNextProcess();
(...skipping 10 matching lines...) Expand all
837 const int kNumDeltas = kNumPackets - 1; 841 const int kNumDeltas = kNumPackets - 1;
838 const size_t kPacketSize = 1200; 842 const size_t kPacketSize = 1200;
839 const int kInitialBitrateBps = 300000; 843 const int kInitialBitrateBps = 300000;
840 uint32_t ssrc = 12346; 844 uint32_t ssrc = 12346;
841 uint16_t sequence_number = 1234; 845 uint16_t sequence_number = 1234;
842 const int expected_deltas[kNumDeltas] = {10, 10, 10, 10, 10, 5, 5, 5, 5, 5}; 846 const int expected_deltas[kNumDeltas] = {10, 10, 10, 10, 10, 5, 5, 5, 5, 5};
843 std::list<int> expected_deltas_list(expected_deltas, 847 std::list<int> expected_deltas_list(expected_deltas,
844 expected_deltas + kNumDeltas); 848 expected_deltas + kNumDeltas);
845 PacedSenderProbing callback(expected_deltas_list, &clock_); 849 PacedSenderProbing callback(expected_deltas_list, &clock_);
846 send_bucket_.reset(new PacedSender(&clock_, &callback)); 850 send_bucket_.reset(new PacedSender(&clock_, &callback));
851 send_bucket_->CreateProbeCluster(900000, 6);
852 send_bucket_->CreateProbeCluster(1800000, 5);
847 send_bucket_->SetEstimatedBitrate(kInitialBitrateBps); 853 send_bucket_->SetEstimatedBitrate(kInitialBitrateBps);
848 854
849 for (int i = 0; i < kNumPackets - 5; ++i) { 855 for (int i = 0; i < kNumPackets - 5; ++i) {
850 send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc, 856 send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc,
851 sequence_number++, clock_.TimeInMilliseconds(), 857 sequence_number++, clock_.TimeInMilliseconds(),
852 kPacketSize, false); 858 kPacketSize, false);
853 } 859 }
854 while (callback.packets_sent() < kNumPackets) { 860 while (callback.packets_sent() < kNumPackets) {
855 int time_until_process = send_bucket_->TimeUntilNextProcess(); 861 int time_until_process = send_bucket_->TimeUntilNextProcess();
856 if (time_until_process <= 0) { 862 if (time_until_process <= 0) {
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
1022 1028
1023 // No more probing packets. 1029 // No more probing packets.
1024 EXPECT_CALL(callback_, TimeToSendPadding(_, PacketInfo::kNotAProbe)) 1030 EXPECT_CALL(callback_, TimeToSendPadding(_, PacketInfo::kNotAProbe))
1025 .Times(1) 1031 .Times(1)
1026 .WillRepeatedly(Return(500)); 1032 .WillRepeatedly(Return(500));
1027 send_bucket_->Process(); 1033 send_bucket_->Process();
1028 } 1034 }
1029 1035
1030 } // namespace test 1036 } // namespace test
1031 } // namespace webrtc 1037 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/pacing/paced_sender.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698