| 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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 int packets_sent_; | 98 int packets_sent_; |
| 99 int padding_sent_; | 99 int padding_sent_; |
| 100 }; | 100 }; |
| 101 | 101 |
| 102 class PacedSenderTest : public ::testing::Test { | 102 class PacedSenderTest : public ::testing::Test { |
| 103 protected: | 103 protected: |
| 104 PacedSenderTest() : clock_(123456) { | 104 PacedSenderTest() : clock_(123456) { |
| 105 srand(0); | 105 srand(0); |
| 106 // Need to initialize PacedSender after we initialize clock. | 106 // Need to initialize PacedSender after we initialize clock. |
| 107 send_bucket_.reset(new PacedSender(&clock_, &callback_)); | 107 send_bucket_.reset(new PacedSender(&clock_, &callback_)); |
| 108 send_bucket_->CreateProbeCluster(kFirstClusterBps, kFirstClusterCount); | 108 send_bucket_->CreateProbeCluster(kFirstClusterBps); |
| 109 send_bucket_->CreateProbeCluster(kSecondClusterBps, kSecondClusterCount); | 109 send_bucket_->CreateProbeCluster(kSecondClusterBps); |
| 110 // Default to bitrate probing disabled for testing purposes. Probing tests | 110 // Default to bitrate probing disabled for testing purposes. Probing tests |
| 111 // have to enable probing, either by creating a new PacedSender instance or | 111 // have to enable probing, either by creating a new PacedSender instance or |
| 112 // by calling SetProbingEnabled(true). | 112 // by calling SetProbingEnabled(true). |
| 113 send_bucket_->SetProbingEnabled(false); | 113 send_bucket_->SetProbingEnabled(false); |
| 114 send_bucket_->SetEstimatedBitrate(kTargetBitrateBps); | 114 send_bucket_->SetEstimatedBitrate(kTargetBitrateBps); |
| 115 | 115 |
| 116 clock_.AdvanceTimeMilliseconds(send_bucket_->TimeUntilNextProcess()); | 116 clock_.AdvanceTimeMilliseconds(send_bucket_->TimeUntilNextProcess()); |
| 117 } | 117 } |
| 118 | 118 |
| 119 void SendAndExpectPacket(PacedSender::Priority priority, | 119 void SendAndExpectPacket(PacedSender::Priority priority, |
| (...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 799 } | 799 } |
| 800 | 800 |
| 801 TEST_F(PacedSenderTest, ProbingWithInsertedPackets) { | 801 TEST_F(PacedSenderTest, ProbingWithInsertedPackets) { |
| 802 const size_t kPacketSize = 1200; | 802 const size_t kPacketSize = 1200; |
| 803 const int kInitialBitrateBps = 300000; | 803 const int kInitialBitrateBps = 300000; |
| 804 uint32_t ssrc = 12346; | 804 uint32_t ssrc = 12346; |
| 805 uint16_t sequence_number = 1234; | 805 uint16_t sequence_number = 1234; |
| 806 | 806 |
| 807 PacedSenderProbing packet_sender; | 807 PacedSenderProbing packet_sender; |
| 808 send_bucket_.reset(new PacedSender(&clock_, &packet_sender)); | 808 send_bucket_.reset(new PacedSender(&clock_, &packet_sender)); |
| 809 send_bucket_->CreateProbeCluster(kFirstClusterBps, kFirstClusterCount); | 809 send_bucket_->CreateProbeCluster(kFirstClusterBps); |
| 810 send_bucket_->CreateProbeCluster(kSecondClusterBps, kSecondClusterCount); | 810 send_bucket_->CreateProbeCluster(kSecondClusterBps); |
| 811 send_bucket_->SetEstimatedBitrate(kInitialBitrateBps); | 811 send_bucket_->SetEstimatedBitrate(kInitialBitrateBps); |
| 812 | 812 |
| 813 for (int i = 0; i < kFirstClusterCount + kSecondClusterCount; ++i) { | 813 for (int i = 0; i < kFirstClusterCount + kSecondClusterCount; ++i) { |
| 814 send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc, | 814 send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc, |
| 815 sequence_number++, clock_.TimeInMilliseconds(), | 815 sequence_number++, clock_.TimeInMilliseconds(), |
| 816 kPacketSize, false); | 816 kPacketSize, false); |
| 817 } | 817 } |
| 818 | 818 |
| 819 int64_t start = clock_.TimeInMilliseconds(); | 819 int64_t start = clock_.TimeInMilliseconds(); |
| 820 while (packet_sender.packets_sent() < kFirstClusterCount) { | 820 while (packet_sender.packets_sent() < kFirstClusterCount) { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 845 } | 845 } |
| 846 | 846 |
| 847 TEST_F(PacedSenderTest, ProbingWithPaddingSupport) { | 847 TEST_F(PacedSenderTest, ProbingWithPaddingSupport) { |
| 848 const size_t kPacketSize = 1200; | 848 const size_t kPacketSize = 1200; |
| 849 const int kInitialBitrateBps = 300000; | 849 const int kInitialBitrateBps = 300000; |
| 850 uint32_t ssrc = 12346; | 850 uint32_t ssrc = 12346; |
| 851 uint16_t sequence_number = 1234; | 851 uint16_t sequence_number = 1234; |
| 852 | 852 |
| 853 PacedSenderProbing packet_sender; | 853 PacedSenderProbing packet_sender; |
| 854 send_bucket_.reset(new PacedSender(&clock_, &packet_sender)); | 854 send_bucket_.reset(new PacedSender(&clock_, &packet_sender)); |
| 855 send_bucket_->CreateProbeCluster(kFirstClusterBps, kFirstClusterCount); | 855 send_bucket_->CreateProbeCluster(kFirstClusterBps); |
| 856 send_bucket_->SetEstimatedBitrate(kInitialBitrateBps); | 856 send_bucket_->SetEstimatedBitrate(kInitialBitrateBps); |
| 857 | 857 |
| 858 for (int i = 0; i < kFirstClusterCount - 2; ++i) { | 858 for (int i = 0; i < kFirstClusterCount - 2; ++i) { |
| 859 send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc, | 859 send_bucket_->InsertPacket(PacedSender::kNormalPriority, ssrc, |
| 860 sequence_number++, clock_.TimeInMilliseconds(), | 860 sequence_number++, clock_.TimeInMilliseconds(), |
| 861 kPacketSize, false); | 861 kPacketSize, false); |
| 862 } | 862 } |
| 863 | 863 |
| 864 int64_t start = clock_.TimeInMilliseconds(); | 864 int64_t start = clock_.TimeInMilliseconds(); |
| 865 int process_count = 0; | 865 int process_count = 0; |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1035 | 1035 |
| 1036 // No more probing packets. | 1036 // No more probing packets. |
| 1037 EXPECT_CALL(callback_, TimeToSendPadding(_, PacketInfo::kNotAProbe)) | 1037 EXPECT_CALL(callback_, TimeToSendPadding(_, PacketInfo::kNotAProbe)) |
| 1038 .Times(1) | 1038 .Times(1) |
| 1039 .WillRepeatedly(Return(500)); | 1039 .WillRepeatedly(Return(500)); |
| 1040 send_bucket_->Process(); | 1040 send_bucket_->Process(); |
| 1041 } | 1041 } |
| 1042 | 1042 |
| 1043 } // namespace test | 1043 } // namespace test |
| 1044 } // namespace webrtc | 1044 } // namespace webrtc |
| OLD | NEW |