| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |