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

Side by Side Diff: media/cast/net/rtcp/rtcp_builder_unittest.cc

Issue 1515433002: Replace uses of raw uint32's with a type-checked RtpTimeTicks data type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/test/simple_test_tick_clock.h" 6 #include "base/test/simple_test_tick_clock.h"
7 #include "media/cast/cast_environment.h" 7 #include "media/cast/cast_environment.h"
8 #include "media/cast/net/cast_transport_config.h" 8 #include "media/cast/net/cast_transport_config.h"
9 #include "media/cast/net/cast_transport_defines.h" 9 #include "media/cast/net/cast_transport_defines.h"
10 #include "media/cast/net/pacing/paced_sender.h" 10 #include "media/cast/net/pacing/paced_sender.h"
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 207
208 base::SimpleTestTickClock testing_clock; 208 base::SimpleTestTickClock testing_clock;
209 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs)); 209 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs));
210 210
211 p.AddReceiverLog(kSendingSsrc); 211 p.AddReceiverLog(kSendingSsrc);
212 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs); 212 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs);
213 p.AddReceiverEventLog(0, FRAME_ACK_SENT, 0); 213 p.AddReceiverEventLog(0, FRAME_ACK_SENT, 0);
214 p.AddReceiverEventLog(kLostPacketId1, PACKET_RECEIVED, kTimeDelayMs); 214 p.AddReceiverEventLog(kLostPacketId1, PACKET_RECEIVED, kTimeDelayMs);
215 215
216 FrameEvent frame_event; 216 FrameEvent frame_event;
217 frame_event.rtp_timestamp = kRtpTimestamp; 217 frame_event.rtp_timestamp = RtpTimeTicks().Expand(kRtpTimestamp);
218 frame_event.type = FRAME_ACK_SENT; 218 frame_event.type = FRAME_ACK_SENT;
219 frame_event.media_type = VIDEO_EVENT; 219 frame_event.media_type = VIDEO_EVENT;
220 frame_event.timestamp = testing_clock.NowTicks(); 220 frame_event.timestamp = testing_clock.NowTicks();
221 event_subscriber.OnReceiveFrameEvent(frame_event); 221 event_subscriber.OnReceiveFrameEvent(frame_event);
222 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); 222 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs));
223 223
224 PacketEvent packet_event; 224 PacketEvent packet_event;
225 packet_event.rtp_timestamp = kRtpTimestamp; 225 packet_event.rtp_timestamp = RtpTimeTicks().Expand(kRtpTimestamp);
Irfan 2015/12/09 21:24:28 consider making kRtpTimestamp a RtpTimeTicks value
miu 2015/12/10 00:38:37 Done.
226 packet_event.type = PACKET_RECEIVED; 226 packet_event.type = PACKET_RECEIVED;
227 packet_event.media_type = VIDEO_EVENT; 227 packet_event.media_type = VIDEO_EVENT;
228 packet_event.timestamp = testing_clock.NowTicks(); 228 packet_event.timestamp = testing_clock.NowTicks();
229 packet_event.packet_id = kLostPacketId1; 229 packet_event.packet_id = kLostPacketId1;
230 event_subscriber.OnReceivePacketEvent(packet_event); 230 event_subscriber.OnReceivePacketEvent(packet_event);
231 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); 231 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events);
232 EXPECT_EQ(2u, rtcp_events.size()); 232 EXPECT_EQ(2u, rtcp_events.size());
233 233
234 ExpectPacketEQ( 234 ExpectPacketEQ(
235 p.GetPacket().Pass(), 235 p.GetPacket().Pass(),
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 kLostPacketId1, 268 kLostPacketId1,
269 PACKET_RECEIVED, 269 PACKET_RECEIVED,
270 static_cast<uint16>(kTimeDelayMs * i)); 270 static_cast<uint16>(kTimeDelayMs * i));
271 } 271 }
272 272
273 273
274 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT); 274 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT);
275 275
276 for (size_t i = 0; i < kRtcpMaxReceiverLogMessages; ++i) { 276 for (size_t i = 0; i < kRtcpMaxReceiverLogMessages; ++i) {
277 PacketEvent packet_event; 277 PacketEvent packet_event;
278 packet_event.rtp_timestamp = kRtpTimestamp + 2345; 278 packet_event.rtp_timestamp =
279 RtpTimeTicks().Expand(kRtpTimestamp) + RtpTimeDelta::FromTicks(2345);
279 packet_event.type = PACKET_RECEIVED; 280 packet_event.type = PACKET_RECEIVED;
280 packet_event.media_type = VIDEO_EVENT; 281 packet_event.media_type = VIDEO_EVENT;
281 packet_event.timestamp = testing_clock.NowTicks(); 282 packet_event.timestamp = testing_clock.NowTicks();
282 packet_event.packet_id = kLostPacketId1; 283 packet_event.packet_id = kLostPacketId1;
283 event_subscriber.OnReceivePacketEvent(packet_event); 284 event_subscriber.OnReceivePacketEvent(packet_event);
284 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); 285 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs));
285 } 286 }
286 287
287 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; 288 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events;
288 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); 289 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events);
(...skipping 26 matching lines...) Expand all
315 316
316 for (int i = 0; i < num_events; i++) { 317 for (int i = 0; i < num_events; i++) {
317 p.AddReceiverFrameLog(kRtpTimestamp + i, 1, kTimeBaseMs + i * kTimeDelayMs); 318 p.AddReceiverFrameLog(kRtpTimestamp + i, 1, kTimeBaseMs + i * kTimeDelayMs);
318 p.AddReceiverEventLog(0, FRAME_ACK_SENT, 0); 319 p.AddReceiverEventLog(0, FRAME_ACK_SENT, 0);
319 } 320 }
320 321
321 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT); 322 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT);
322 323
323 for (size_t i = 0; i < kRtcpMaxReceiverLogMessages; ++i) { 324 for (size_t i = 0; i < kRtcpMaxReceiverLogMessages; ++i) {
324 FrameEvent frame_event; 325 FrameEvent frame_event;
325 frame_event.rtp_timestamp = kRtpTimestamp + static_cast<int>(i); 326 frame_event.rtp_timestamp =
327 RtpTimeTicks().Expand(kRtpTimestamp) + RtpTimeDelta::FromTicks(i);
326 frame_event.type = FRAME_ACK_SENT; 328 frame_event.type = FRAME_ACK_SENT;
327 frame_event.media_type = VIDEO_EVENT; 329 frame_event.media_type = VIDEO_EVENT;
328 frame_event.timestamp = testing_clock.NowTicks(); 330 frame_event.timestamp = testing_clock.NowTicks();
329 event_subscriber.OnReceiveFrameEvent(frame_event); 331 event_subscriber.OnReceiveFrameEvent(frame_event);
330 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); 332 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs));
331 } 333 }
332 334
333 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; 335 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events;
334 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); 336 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events);
335 337
(...skipping 25 matching lines...) Expand all
361 // 4095 milliseconds away from latest event. 363 // 4095 milliseconds away from latest event.
362 const int kTimeBetweenEventsMs = 410; 364 const int kTimeBetweenEventsMs = 410;
363 p.AddReceiverFrameLog(kRtpTimestamp, 10, kTimeBaseMs + kTimeBetweenEventsMs); 365 p.AddReceiverFrameLog(kRtpTimestamp, 10, kTimeBaseMs + kTimeBetweenEventsMs);
364 for (int i = 0; i < 10; ++i) { 366 for (int i = 0; i < 10; ++i) {
365 p.AddReceiverEventLog(0, FRAME_ACK_SENT, i * kTimeBetweenEventsMs); 367 p.AddReceiverEventLog(0, FRAME_ACK_SENT, i * kTimeBetweenEventsMs);
366 } 368 }
367 369
368 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT); 370 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT);
369 for (int i = 0; i < 11; ++i) { 371 for (int i = 0; i < 11; ++i) {
370 FrameEvent frame_event; 372 FrameEvent frame_event;
371 frame_event.rtp_timestamp = kRtpTimestamp; 373 frame_event.rtp_timestamp = RtpTimeTicks().Expand(kRtpTimestamp);
372 frame_event.type = FRAME_ACK_SENT; 374 frame_event.type = FRAME_ACK_SENT;
373 frame_event.media_type = VIDEO_EVENT; 375 frame_event.media_type = VIDEO_EVENT;
374 frame_event.timestamp = testing_clock.NowTicks(); 376 frame_event.timestamp = testing_clock.NowTicks();
375 event_subscriber.OnReceiveFrameEvent(frame_event); 377 event_subscriber.OnReceiveFrameEvent(frame_event);
376 testing_clock.Advance( 378 testing_clock.Advance(
377 base::TimeDelta::FromMilliseconds(kTimeBetweenEventsMs)); 379 base::TimeDelta::FromMilliseconds(kTimeBetweenEventsMs));
378 } 380 }
379 381
380 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; 382 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events;
381 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); 383 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events);
(...skipping 30 matching lines...) Expand all
412 p.AddReceiverFrameLog(kRtpTimestamp, num_events, 414 p.AddReceiverFrameLog(kRtpTimestamp, num_events,
413 time_base_ms - (num_events - 1) * kResendDelay * 415 time_base_ms - (num_events - 1) * kResendDelay *
414 kTimeBetweenEventsMs); 416 kTimeBetweenEventsMs);
415 for (int i = 0; i < num_events; i++) { 417 for (int i = 0; i < num_events; i++) {
416 p.AddReceiverEventLog( 418 p.AddReceiverEventLog(
417 0, FRAME_ACK_SENT, 419 0, FRAME_ACK_SENT,
418 base::checked_cast<uint16>(i * kResendDelay * kTimeBetweenEventsMs)); 420 base::checked_cast<uint16>(i * kResendDelay * kTimeBetweenEventsMs));
419 } 421 }
420 422
421 FrameEvent frame_event; 423 FrameEvent frame_event;
422 frame_event.rtp_timestamp = kRtpTimestamp; 424 frame_event.rtp_timestamp = RtpTimeTicks().Expand(kRtpTimestamp);
423 frame_event.type = FRAME_ACK_SENT; 425 frame_event.type = FRAME_ACK_SENT;
424 frame_event.media_type = VIDEO_EVENT; 426 frame_event.media_type = VIDEO_EVENT;
425 frame_event.timestamp = testing_clock.NowTicks(); 427 frame_event.timestamp = testing_clock.NowTicks();
426 event_subscriber.OnReceiveFrameEvent(frame_event); 428 event_subscriber.OnReceiveFrameEvent(frame_event);
427 429
428 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; 430 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events;
429 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); 431 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events);
430 432
431 ExpectPacketEQ(p.GetPacket().Pass(), 433 ExpectPacketEQ(p.GetPacket().Pass(),
432 rtcp_builder_->BuildRtcpFromReceiver( 434 rtcp_builder_->BuildRtcpFromReceiver(
433 &report_block, 435 &report_block,
434 NULL, 436 NULL,
435 NULL, 437 NULL,
436 &rtcp_events, 438 &rtcp_events,
437 kDefaultDelay)); 439 kDefaultDelay));
438 440
439 testing_clock.Advance( 441 testing_clock.Advance(
440 base::TimeDelta::FromMilliseconds(kTimeBetweenEventsMs)); 442 base::TimeDelta::FromMilliseconds(kTimeBetweenEventsMs));
441 time_base_ms += kTimeBetweenEventsMs; 443 time_base_ms += kTimeBetweenEventsMs;
442 } 444 }
443 } 445 }
444 446
445 TEST_F(RtcpBuilderTest, RtcpSenderReport) { 447 TEST_F(RtcpBuilderTest, RtcpSenderReport) {
446 RtcpSenderInfo sender_info; 448 RtcpSenderInfo sender_info;
447 sender_info.ntp_seconds = kNtpHigh; 449 sender_info.ntp_seconds = kNtpHigh;
448 sender_info.ntp_fraction = kNtpLow; 450 sender_info.ntp_fraction = kNtpLow;
449 sender_info.rtp_timestamp = kRtpTimestamp; 451 sender_info.rtp_timestamp = RtpTimeTicks().Expand(kRtpTimestamp);
450 sender_info.send_packet_count = kSendPacketCount; 452 sender_info.send_packet_count = kSendPacketCount;
451 sender_info.send_octet_count = kSendOctetCount; 453 sender_info.send_octet_count = kSendOctetCount;
452 454
453 // Sender report. 455 // Sender report.
454 TestRtcpPacketBuilder p; 456 TestRtcpPacketBuilder p;
455 p.AddSr(kSendingSsrc, 0); 457 p.AddSr(kSendingSsrc, 0);
456 458
457 ExpectPacketEQ(p.GetPacket().Pass(), 459 ExpectPacketEQ(p.GetPacket().Pass(),
458 rtcp_builder_->BuildRtcpFromSender(sender_info)); 460 rtcp_builder_->BuildRtcpFromSender(sender_info));
459 } 461 }
460 462
461 } // namespace cast 463 } // namespace cast
462 } // namespace media 464 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698