| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <stdint.h> | 5 #include <stdint.h> |
| 6 | 6 |
| 7 #include "base/big_endian.h" | 7 #include "base/big_endian.h" |
| 8 #include "base/test/simple_test_tick_clock.h" | 8 #include "base/test/simple_test_tick_clock.h" |
| 9 #include "media/cast/logging/simple_event_subscriber.h" | 9 #include "media/cast/logging/simple_event_subscriber.h" |
| 10 #include "media/cast/test/fake_single_thread_task_runner.h" | 10 #include "media/cast/test/fake_single_thread_task_runner.h" |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 scoped_ptr<PacedSender> paced_sender_; | 122 scoped_ptr<PacedSender> paced_sender_; |
| 123 | 123 |
| 124 DISALLOW_COPY_AND_ASSIGN(PacedSenderTest); | 124 DISALLOW_COPY_AND_ASSIGN(PacedSenderTest); |
| 125 }; | 125 }; |
| 126 | 126 |
| 127 TEST_F(PacedSenderTest, PassThroughRtcp) { | 127 TEST_F(PacedSenderTest, PassThroughRtcp) { |
| 128 mock_transport_.AddExpectedSize(kSize1, 2); | 128 mock_transport_.AddExpectedSize(kSize1, 2); |
| 129 SendPacketVector packets = CreateSendPacketVector(kSize1, 1, true); | 129 SendPacketVector packets = CreateSendPacketVector(kSize1, 1, true); |
| 130 | 130 |
| 131 EXPECT_TRUE(paced_sender_->SendPackets(packets)); | 131 EXPECT_TRUE(paced_sender_->SendPackets(packets)); |
| 132 EXPECT_TRUE(paced_sender_->ResendPackets(packets)); | 132 EXPECT_TRUE(paced_sender_->ResendPackets(packets, base::TimeDelta())); |
| 133 | 133 |
| 134 mock_transport_.AddExpectedSize(kSize2, 1); | 134 mock_transport_.AddExpectedSize(kSize2, 1); |
| 135 Packet tmp(kSize2, kValue); | 135 Packet tmp(kSize2, kValue); |
| 136 EXPECT_TRUE(paced_sender_->SendRtcpPacket( | 136 EXPECT_TRUE(paced_sender_->SendRtcpPacket( |
| 137 1, | 137 1, |
| 138 new base::RefCountedData<Packet>(tmp))); | 138 new base::RefCountedData<Packet>(tmp))); |
| 139 } | 139 } |
| 140 | 140 |
| 141 TEST_F(PacedSenderTest, BasicPace) { | 141 TEST_F(PacedSenderTest, BasicPace) { |
| 142 int num_of_packets = 27; | 142 int num_of_packets = 27; |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 CreateSendPacketVector(kSize1, num_of_packets_in_frame, false); | 195 CreateSendPacketVector(kSize1, num_of_packets_in_frame, false); |
| 196 | 196 |
| 197 SendPacketVector second_frame_packets = | 197 SendPacketVector second_frame_packets = |
| 198 CreateSendPacketVector(kSize2, num_of_packets_in_frame, true); | 198 CreateSendPacketVector(kSize2, num_of_packets_in_frame, true); |
| 199 | 199 |
| 200 // Check that the first burst of the frame go out on the wire. | 200 // Check that the first burst of the frame go out on the wire. |
| 201 mock_transport_.AddExpectedSize(kSize1, 10); | 201 mock_transport_.AddExpectedSize(kSize1, 10); |
| 202 EXPECT_TRUE(paced_sender_->SendPackets(first_frame_packets)); | 202 EXPECT_TRUE(paced_sender_->SendPackets(first_frame_packets)); |
| 203 | 203 |
| 204 // Add first NACK request. | 204 // Add first NACK request. |
| 205 EXPECT_TRUE(paced_sender_->ResendPackets(nack_packets)); | 205 EXPECT_TRUE(paced_sender_->ResendPackets(nack_packets, base::TimeDelta())); |
| 206 | 206 |
| 207 // Check that we get the first NACK burst. | 207 // Check that we get the first NACK burst. |
| 208 mock_transport_.AddExpectedSize(kNackSize, 10); | 208 mock_transport_.AddExpectedSize(kNackSize, 10); |
| 209 base::TimeDelta timeout = base::TimeDelta::FromMilliseconds(10); | 209 base::TimeDelta timeout = base::TimeDelta::FromMilliseconds(10); |
| 210 testing_clock_.Advance(timeout); | 210 testing_clock_.Advance(timeout); |
| 211 task_runner_->RunTasks(); | 211 task_runner_->RunTasks(); |
| 212 | 212 |
| 213 // Add second NACK request. | 213 // Add second NACK request. |
| 214 EXPECT_TRUE(paced_sender_->ResendPackets(nack_packets)); | 214 EXPECT_TRUE(paced_sender_->ResendPackets(nack_packets, base::TimeDelta())); |
| 215 | 215 |
| 216 // Check that we get the next NACK burst. | 216 // Check that we get the next NACK burst. |
| 217 mock_transport_.AddExpectedSize(kNackSize, 10); | 217 mock_transport_.AddExpectedSize(kNackSize, 10); |
| 218 testing_clock_.Advance(timeout); | 218 testing_clock_.Advance(timeout); |
| 219 task_runner_->RunTasks(); | 219 task_runner_->RunTasks(); |
| 220 | 220 |
| 221 // End of NACK plus two packets from the oldest frame. | 221 // End of NACK plus two packets from the oldest frame. |
| 222 // Note that two of the NACKs have been de-duped. | 222 // Note that two of the NACKs have been de-duped. |
| 223 mock_transport_.AddExpectedSize(kNackSize, 2); | 223 mock_transport_.AddExpectedSize(kNackSize, 2); |
| 224 mock_transport_.AddExpectedSize(kSize1, 2); | 224 mock_transport_.AddExpectedSize(kSize1, 2); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 testing_clock_.Advance(timeout_10ms); | 342 testing_clock_.Advance(timeout_10ms); |
| 343 task_runner_->RunTasks(); | 343 task_runner_->RunTasks(); |
| 344 | 344 |
| 345 // No more packets. | 345 // No more packets. |
| 346 EXPECT_TRUE(RunUntilEmpty(5)); | 346 EXPECT_TRUE(RunUntilEmpty(5)); |
| 347 } | 347 } |
| 348 | 348 |
| 349 } // namespace transport | 349 } // namespace transport |
| 350 } // namespace cast | 350 } // namespace cast |
| 351 } // namespace media | 351 } // namespace media |
| OLD | NEW |