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

Side by Side Diff: media/cast/rtcp/rtcp_unittest.cc

Issue 270493003: Cast: Deduplicate event types in cast library. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 7 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 | « media/cast/rtcp/rtcp_sender_unittest.cc ('k') | media/cast/rtcp/rtcp_utility.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/test/simple_test_tick_clock.h" 7 #include "base/test/simple_test_tick_clock.h"
8 #include "media/cast/cast_defines.h" 8 #include "media/cast/cast_defines.h"
9 #include "media/cast/cast_environment.h" 9 #include "media/cast/cast_environment.h"
10 #include "media/cast/rtcp/mock_rtcp_receiver_feedback.h" 10 #include "media/cast/rtcp/mock_rtcp_receiver_feedback.h"
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 const std::string& c_name) 133 const std::string& c_name)
134 : Rtcp(cast_environment, 134 : Rtcp(cast_environment,
135 sender_feedback, 135 sender_feedback,
136 transport_sender, 136 transport_sender,
137 paced_packet_sender, 137 paced_packet_sender,
138 rtp_receiver_statistics, 138 rtp_receiver_statistics,
139 rtcp_mode, 139 rtcp_mode,
140 rtcp_interval, 140 rtcp_interval,
141 local_ssrc, 141 local_ssrc,
142 remote_ssrc, 142 remote_ssrc,
143 c_name) {} 143 c_name,
144 true) {}
144 145
145 using Rtcp::CheckForWrapAround; 146 using Rtcp::CheckForWrapAround;
146 using Rtcp::OnReceivedLipSyncInfo; 147 using Rtcp::OnReceivedLipSyncInfo;
147 }; 148 };
148 149
149 class RtcpTest : public ::testing::Test { 150 class RtcpTest : public ::testing::Test {
150 protected: 151 protected:
151 RtcpTest() 152 RtcpTest()
152 : testing_clock_(new base::SimpleTestTickClock()), 153 : testing_clock_(new base::SimpleTestTickClock()),
153 task_runner_(new test::FakeSingleThreadTaskRunner(testing_clock_)), 154 task_runner_(new test::FakeSingleThreadTaskRunner(testing_clock_)),
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 start_time += base::TimeDelta::FromMilliseconds(kStartMillisecond); 208 start_time += base::TimeDelta::FromMilliseconds(kStartMillisecond);
208 Rtcp rtcp(cast_environment_, 209 Rtcp rtcp(cast_environment_,
209 &mock_sender_feedback_, 210 &mock_sender_feedback_,
210 transport_sender_.get(), 211 transport_sender_.get(),
211 &receiver_to_sender_, 212 &receiver_to_sender_,
212 NULL, 213 NULL,
213 kRtcpCompound, 214 kRtcpCompound,
214 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 215 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
215 kSenderSsrc, 216 kSenderSsrc,
216 kReceiverSsrc, 217 kReceiverSsrc,
217 kCName); 218 kCName,
219 true);
218 receiver_to_sender_.set_rtcp_receiver(&rtcp); 220 receiver_to_sender_.set_rtcp_receiver(&rtcp);
219 EXPECT_LE(start_time, rtcp.TimeToSendNextRtcpReport()); 221 EXPECT_LE(start_time, rtcp.TimeToSendNextRtcpReport());
220 EXPECT_GE( 222 EXPECT_GE(
221 start_time + base::TimeDelta::FromMilliseconds(kRtcpIntervalMs * 3 / 2), 223 start_time + base::TimeDelta::FromMilliseconds(kRtcpIntervalMs * 3 / 2),
222 rtcp.TimeToSendNextRtcpReport()); 224 rtcp.TimeToSendNextRtcpReport());
223 base::TimeDelta delta = rtcp.TimeToSendNextRtcpReport() - start_time; 225 base::TimeDelta delta = rtcp.TimeToSendNextRtcpReport() - start_time;
224 testing_clock_->Advance(delta); 226 testing_clock_->Advance(delta);
225 EXPECT_EQ(testing_clock_->NowTicks(), rtcp.TimeToSendNextRtcpReport()); 227 EXPECT_EQ(testing_clock_->NowTicks(), rtcp.TimeToSendNextRtcpReport());
226 } 228 }
227 229
228 TEST_F(RtcpTest, BasicSenderReport) { 230 TEST_F(RtcpTest, BasicSenderReport) {
229 Rtcp rtcp(cast_environment_, 231 Rtcp rtcp(cast_environment_,
230 &mock_sender_feedback_, 232 &mock_sender_feedback_,
231 transport_sender_.get(), 233 transport_sender_.get(),
232 NULL, 234 NULL,
233 NULL, 235 NULL,
234 kRtcpCompound, 236 kRtcpCompound,
235 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 237 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
236 kSenderSsrc, 238 kSenderSsrc,
237 kReceiverSsrc, 239 kReceiverSsrc,
238 kCName); 240 kCName,
241 true);
239 sender_to_receiver_.set_rtcp_receiver(&rtcp); 242 sender_to_receiver_.set_rtcp_receiver(&rtcp);
240 transport::RtcpSenderLogMessage empty_sender_log; 243 transport::RtcpSenderLogMessage empty_sender_log;
241 rtcp.SendRtcpFromRtpSender(empty_sender_log, rtp_sender_stats_.sender_info()); 244 rtcp.SendRtcpFromRtpSender(empty_sender_log, rtp_sender_stats_.sender_info());
242 } 245 }
243 246
244 TEST_F(RtcpTest, BasicReceiverReport) { 247 TEST_F(RtcpTest, BasicReceiverReport) {
245 Rtcp rtcp(cast_environment_, 248 Rtcp rtcp(cast_environment_,
246 &mock_sender_feedback_, 249 &mock_sender_feedback_,
247 NULL, 250 NULL,
248 &receiver_to_sender_, 251 &receiver_to_sender_,
249 NULL, 252 NULL,
250 kRtcpCompound, 253 kRtcpCompound,
251 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 254 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
252 kSenderSsrc, 255 kSenderSsrc,
253 kReceiverSsrc, 256 kReceiverSsrc,
254 kCName); 257 kCName,
258 true);
255 receiver_to_sender_.set_rtcp_receiver(&rtcp); 259 receiver_to_sender_.set_rtcp_receiver(&rtcp);
256 rtcp.SendRtcpFromRtpReceiver(NULL, NULL); 260 rtcp.SendRtcpFromRtpReceiver(NULL, NULL);
257 } 261 }
258 262
259 TEST_F(RtcpTest, BasicCast) { 263 TEST_F(RtcpTest, BasicCast) {
260 EXPECT_CALL(mock_sender_feedback_, OnReceivedCastFeedback(_)).Times(1); 264 EXPECT_CALL(mock_sender_feedback_, OnReceivedCastFeedback(_)).Times(1);
261 265
262 // Media receiver. 266 // Media receiver.
263 Rtcp rtcp(cast_environment_, 267 Rtcp rtcp(cast_environment_,
264 &mock_sender_feedback_, 268 &mock_sender_feedback_,
265 NULL, 269 NULL,
266 &receiver_to_sender_, 270 &receiver_to_sender_,
267 NULL, 271 NULL,
268 kRtcpReducedSize, 272 kRtcpReducedSize,
269 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 273 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
270 kSenderSsrc, 274 kSenderSsrc,
271 kSenderSsrc, 275 kSenderSsrc,
272 kCName); 276 kCName,
277 true);
273 receiver_to_sender_.set_rtcp_receiver(&rtcp); 278 receiver_to_sender_.set_rtcp_receiver(&rtcp);
274 RtcpCastMessage cast_message(kSenderSsrc); 279 RtcpCastMessage cast_message(kSenderSsrc);
275 cast_message.ack_frame_id_ = kAckFrameId; 280 cast_message.ack_frame_id_ = kAckFrameId;
276 PacketIdSet missing_packets; 281 PacketIdSet missing_packets;
277 cast_message.missing_frames_and_packets_[kLostFrameId] = missing_packets; 282 cast_message.missing_frames_and_packets_[kLostFrameId] = missing_packets;
278 283
279 missing_packets.insert(kLostPacketId1); 284 missing_packets.insert(kLostPacketId1);
280 missing_packets.insert(kLostPacketId2); 285 missing_packets.insert(kLostPacketId2);
281 missing_packets.insert(kLostPacketId3); 286 missing_packets.insert(kLostPacketId3);
282 cast_message.missing_frames_and_packets_[kFrameIdWithLostPackets] = 287 cast_message.missing_frames_and_packets_[kFrameIdWithLostPackets] =
283 missing_packets; 288 missing_packets;
284 rtcp.SendRtcpFromRtpReceiver(&cast_message, NULL); 289 rtcp.SendRtcpFromRtpReceiver(&cast_message, NULL);
285 } 290 }
286 291
287 TEST_F(RtcpTest, RttReducedSizeRtcp) { 292 TEST_F(RtcpTest, RttReducedSizeRtcp) {
288 // Media receiver. 293 // Media receiver.
289 Rtcp rtcp_receiver(cast_environment_, 294 Rtcp rtcp_receiver(cast_environment_,
290 &mock_sender_feedback_, 295 &mock_sender_feedback_,
291 NULL, 296 NULL,
292 &receiver_to_sender_, 297 &receiver_to_sender_,
293 NULL, 298 NULL,
294 kRtcpReducedSize, 299 kRtcpReducedSize,
295 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 300 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
296 kReceiverSsrc, 301 kReceiverSsrc,
297 kSenderSsrc, 302 kSenderSsrc,
298 kCName); 303 kCName,
304 true);
299 305
300 // Media sender. 306 // Media sender.
301 Rtcp rtcp_sender(cast_environment_, 307 Rtcp rtcp_sender(cast_environment_,
302 &mock_sender_feedback_, 308 &mock_sender_feedback_,
303 transport_sender_.get(), 309 transport_sender_.get(),
304 NULL, 310 NULL,
305 NULL, 311 NULL,
306 kRtcpReducedSize, 312 kRtcpReducedSize,
307 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 313 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
308 kSenderSsrc, 314 kSenderSsrc,
309 kReceiverSsrc, 315 kReceiverSsrc,
310 kCName); 316 kCName,
317 true);
311 318
312 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver); 319 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver);
313 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender); 320 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender);
314 321
315 base::TimeDelta rtt; 322 base::TimeDelta rtt;
316 base::TimeDelta avg_rtt; 323 base::TimeDelta avg_rtt;
317 base::TimeDelta min_rtt; 324 base::TimeDelta min_rtt;
318 base::TimeDelta max_rtt; 325 base::TimeDelta max_rtt;
319 EXPECT_FALSE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); 326 EXPECT_FALSE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt));
320 EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); 327 EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt));
(...skipping 24 matching lines...) Expand all
345 // Media receiver. 352 // Media receiver.
346 Rtcp rtcp_receiver(cast_environment_, 353 Rtcp rtcp_receiver(cast_environment_,
347 &mock_sender_feedback_, 354 &mock_sender_feedback_,
348 NULL, 355 NULL,
349 &receiver_to_sender_, 356 &receiver_to_sender_,
350 NULL, 357 NULL,
351 kRtcpCompound, 358 kRtcpCompound,
352 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 359 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
353 kReceiverSsrc, 360 kReceiverSsrc,
354 kSenderSsrc, 361 kSenderSsrc,
355 kCName); 362 kCName,
363 true);
356 364
357 // Media sender. 365 // Media sender.
358 Rtcp rtcp_sender(cast_environment_, 366 Rtcp rtcp_sender(cast_environment_,
359 &mock_sender_feedback_, 367 &mock_sender_feedback_,
360 transport_sender_.get(), 368 transport_sender_.get(),
361 NULL, 369 NULL,
362 NULL, 370 NULL,
363 kRtcpCompound, 371 kRtcpCompound,
364 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 372 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
365 kSenderSsrc, 373 kSenderSsrc,
366 kReceiverSsrc, 374 kReceiverSsrc,
367 kCName); 375 kCName,
376 true);
368 377
369 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender); 378 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender);
370 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver); 379 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver);
371 380
372 base::TimeDelta rtt; 381 base::TimeDelta rtt;
373 base::TimeDelta avg_rtt; 382 base::TimeDelta avg_rtt;
374 base::TimeDelta min_rtt; 383 base::TimeDelta min_rtt;
375 base::TimeDelta max_rtt; 384 base::TimeDelta max_rtt;
376 EXPECT_FALSE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); 385 EXPECT_FALSE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt));
377 EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); 386 EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt));
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 // Media receiver. 449 // Media receiver.
441 Rtcp rtcp_receiver(cast_environment_, 450 Rtcp rtcp_receiver(cast_environment_,
442 &mock_sender_feedback_, 451 &mock_sender_feedback_,
443 NULL, 452 NULL,
444 &receiver_to_sender_, 453 &receiver_to_sender_,
445 NULL, 454 NULL,
446 kRtcpReducedSize, 455 kRtcpReducedSize,
447 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 456 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
448 kSenderSsrc, 457 kSenderSsrc,
449 kReceiverSsrc, 458 kReceiverSsrc,
450 kCName); 459 kCName,
460 true);
451 461
452 // Media sender. 462 // Media sender.
453 Rtcp rtcp_sender(cast_environment_, 463 Rtcp rtcp_sender(cast_environment_,
454 &mock_sender_feedback_, 464 &mock_sender_feedback_,
455 transport_sender_.get(), 465 transport_sender_.get(),
456 NULL, 466 NULL,
457 NULL, 467 NULL,
458 kRtcpReducedSize, 468 kRtcpReducedSize,
459 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 469 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
460 kReceiverSsrc, 470 kReceiverSsrc,
461 kSenderSsrc, 471 kSenderSsrc,
462 kCName); 472 kCName,
473 true);
463 474
464 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender); 475 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender);
465 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver); 476 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver);
466 477
467 rtcp_receiver.SendRtcpFromRtpReceiver(NULL, NULL); 478 rtcp_receiver.SendRtcpFromRtpReceiver(NULL, NULL);
468 transport::RtcpSenderLogMessage empty_sender_log; 479 transport::RtcpSenderLogMessage empty_sender_log;
469 rtcp_sender.SendRtcpFromRtpSender(empty_sender_log, 480 rtcp_sender.SendRtcpFromRtpSender(empty_sender_log,
470 rtp_sender_stats_.sender_info()); 481 rtp_sender_stats_.sender_info());
471 RunTasks(33); 482 RunTasks(33);
472 483
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 rtcp_peer.OnReceivedLipSyncInfo(rtp_timestamp, ntp_seconds, ntp_fractions); 637 rtcp_peer.OnReceivedLipSyncInfo(rtp_timestamp, ntp_seconds, ntp_fractions);
627 rtp_timestamp = 64000; 638 rtp_timestamp = 64000;
628 EXPECT_TRUE(rtcp_peer.RtpTimestampInSenderTime( 639 EXPECT_TRUE(rtcp_peer.RtpTimestampInSenderTime(
629 frequency, rtp_timestamp, &rtp_timestamp_in_ticks)); 640 frequency, rtp_timestamp, &rtp_timestamp_in_ticks));
630 EXPECT_EQ(input_time + base::TimeDelta::FromMilliseconds(4000), 641 EXPECT_EQ(input_time + base::TimeDelta::FromMilliseconds(4000),
631 rtp_timestamp_in_ticks); 642 rtp_timestamp_in_ticks);
632 } 643 }
633 644
634 } // namespace cast 645 } // namespace cast
635 } // namespace media 646 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtcp/rtcp_sender_unittest.cc ('k') | media/cast/rtcp/rtcp_utility.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698