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 |