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

Side by Side Diff: media/cast/logging/encoding_event_subscriber_unittest.cc

Issue 178073004: Cast: IPC from browser to renderer to send packet events from transport to cast library. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 9 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/cast_receiver_impl.cc ('k') | media/cast/logging/logging.gyp » ('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 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/ref_counted.h" 5 #include "base/memory/ref_counted.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/test/simple_test_tick_clock.h" 7 #include "base/test/simple_test_tick_clock.h"
8 #include "base/time/tick_clock.h" 8 #include "base/time/tick_clock.h"
9 #include "media/cast/cast_environment.h" 9 #include "media/cast/cast_environment.h"
10 #include "media/cast/logging/encoding_event_subscriber.h" 10 #include "media/cast/logging/encoding_event_subscriber.h"
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 EXPECT_EQ(media::cast::proto::AUDIO_PACKET_RECEIVED, 318 EXPECT_EQ(media::cast::proto::AUDIO_PACKET_RECEIVED,
319 base_event.event_type(0)); 319 base_event.event_type(0));
320 ASSERT_EQ(1, base_event.event_timestamp_micros_size()); 320 ASSERT_EQ(1, base_event.event_timestamp_micros_size());
321 EXPECT_EQ(now.ToInternalValue(), base_event.event_timestamp_micros(0)); 321 EXPECT_EQ(now.ToInternalValue(), base_event.event_timestamp_micros(0));
322 322
323 GetEventsAndReset(); 323 GetEventsAndReset();
324 EXPECT_TRUE(packet_events.empty()); 324 EXPECT_TRUE(packet_events.empty());
325 } 325 }
326 326
327 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForPacket) { 327 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForPacket) {
328 Init(OTHER_EVENT); 328 Init(VIDEO_EVENT);
329 base::TimeTicks now1(testing_clock_->NowTicks()); 329 base::TimeTicks now1(testing_clock_->NowTicks());
330 RtpTimestamp rtp_timestamp = 100; 330 RtpTimestamp rtp_timestamp = 100;
331 int packet_id = 2; 331 int packet_id = 2;
332 int size = 100; 332 int size = 100;
333 cast_environment_->Logging()->InsertPacketEvent( 333 cast_environment_->Logging()->InsertPacketEvent(now1,
334 now1, kPacketSentToPacer, rtp_timestamp, /*frame_id*/ 0, packet_id, 334 kVideoPacketSentToPacer,
335 /*max_packet_id*/ 10, size); 335 rtp_timestamp,
336 /*frame_id*/ 0,
337 packet_id,
338 /*max_packet_id*/ 10,
339 size);
336 340
337 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20)); 341 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20));
338 base::TimeTicks now2(testing_clock_->NowTicks()); 342 base::TimeTicks now2(testing_clock_->NowTicks());
339 cast_environment_->Logging()->InsertPacketEvent( 343 cast_environment_->Logging()->InsertPacketEvent(now2,
340 now2, kPacketSentToNetwork, rtp_timestamp, /*frame_id*/ 0, packet_id, 344 kVideoPacketSentToNetwork,
341 /*max_packet_id*/ 10, size); 345 rtp_timestamp,
346 /*frame_id*/ 0,
347 packet_id,
348 /*max_packet_id*/ 10,
349 size);
342 350
343 GetEventsAndReset(); 351 GetEventsAndReset();
344 352
345 ASSERT_EQ(1u, packet_events.size()); 353 ASSERT_EQ(1u, packet_events.size());
346 354
347 RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp; 355 RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp;
348 PacketEventMap::iterator it = packet_events.find(relative_rtp_timestamp); 356 PacketEventMap::iterator it = packet_events.find(relative_rtp_timestamp);
349 ASSERT_TRUE(it != packet_events.end()); 357 ASSERT_TRUE(it != packet_events.end());
350 358
351 linked_ptr<AggregatedPacketEvent> event = it->second; 359 linked_ptr<AggregatedPacketEvent> event = it->second;
352 360
353 EXPECT_EQ(relative_rtp_timestamp, event->rtp_timestamp()); 361 EXPECT_EQ(relative_rtp_timestamp, event->rtp_timestamp());
354 362
355 ASSERT_EQ(1, event->base_packet_event_size()); 363 ASSERT_EQ(1, event->base_packet_event_size());
356 const BasePacketEvent& base_event = event->base_packet_event(0); 364 const BasePacketEvent& base_event = event->base_packet_event(0);
357 EXPECT_EQ(packet_id, base_event.packet_id()); 365 EXPECT_EQ(packet_id, base_event.packet_id());
358 ASSERT_EQ(2, base_event.event_type_size()); 366 ASSERT_EQ(2, base_event.event_type_size());
359 EXPECT_EQ(media::cast::proto::PACKET_SENT_TO_PACER, base_event.event_type(0)); 367 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_SENT_TO_PACER,
360 EXPECT_EQ(media::cast::proto::PACKET_SENT_TO_NETWORK, 368 base_event.event_type(0));
369 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_SENT_TO_NETWORK,
361 base_event.event_type(1)); 370 base_event.event_type(1));
362 ASSERT_EQ(2, base_event.event_timestamp_micros_size()); 371 ASSERT_EQ(2, base_event.event_timestamp_micros_size());
363 EXPECT_EQ(now1.ToInternalValue(), base_event.event_timestamp_micros(0)); 372 EXPECT_EQ(now1.ToInternalValue(), base_event.event_timestamp_micros(0));
364 EXPECT_EQ(now2.ToInternalValue(), base_event.event_timestamp_micros(1)); 373 EXPECT_EQ(now2.ToInternalValue(), base_event.event_timestamp_micros(1));
365 } 374 }
366 375
367 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForFrame) { 376 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForFrame) {
368 Init(OTHER_EVENT); 377 Init(VIDEO_EVENT);
369 base::TimeTicks now1(testing_clock_->NowTicks()); 378 base::TimeTicks now1(testing_clock_->NowTicks());
370 RtpTimestamp rtp_timestamp = 100; 379 RtpTimestamp rtp_timestamp = 100;
371 int packet_id_1 = 2; 380 int packet_id_1 = 2;
372 int packet_id_2 = 3; 381 int packet_id_2 = 3;
373 int size = 100; 382 int size = 100;
374 cast_environment_->Logging()->InsertPacketEvent( 383 cast_environment_->Logging()->InsertPacketEvent(now1,
375 now1, kPacketSentToPacer, rtp_timestamp, /*frame_id*/ 0, packet_id_1, 384 kVideoPacketSentToPacer,
376 /*max_packet_id*/ 10, size); 385 rtp_timestamp,
386 /*frame_id*/ 0,
387 packet_id_1,
388 /*max_packet_id*/ 10,
389 size);
377 390
378 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20)); 391 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20));
379 base::TimeTicks now2(testing_clock_->NowTicks()); 392 base::TimeTicks now2(testing_clock_->NowTicks());
380 cast_environment_->Logging()->InsertPacketEvent( 393 cast_environment_->Logging()->InsertPacketEvent(now2,
381 now2, kPacketRetransmitted, rtp_timestamp, /*frame_id*/ 0, packet_id_2, 394 kVideoPacketRetransmitted,
382 /*max_packet_id*/ 10, size); 395 rtp_timestamp,
396 /*frame_id*/ 0,
397 packet_id_2,
398 /*max_packet_id*/ 10,
399 size);
383 400
384 GetEventsAndReset(); 401 GetEventsAndReset();
385 402
386 ASSERT_EQ(1u, packet_events.size()); 403 ASSERT_EQ(1u, packet_events.size());
387 404
388 RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp; 405 RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp;
389 PacketEventMap::iterator it = packet_events.find(relative_rtp_timestamp); 406 PacketEventMap::iterator it = packet_events.find(relative_rtp_timestamp);
390 ASSERT_TRUE(it != packet_events.end()); 407 ASSERT_TRUE(it != packet_events.end());
391 408
392 linked_ptr<AggregatedPacketEvent> event = it->second; 409 linked_ptr<AggregatedPacketEvent> event = it->second;
393 410
394 EXPECT_EQ(relative_rtp_timestamp, event->rtp_timestamp()); 411 EXPECT_EQ(relative_rtp_timestamp, event->rtp_timestamp());
395 412
396 ASSERT_EQ(2, event->base_packet_event_size()); 413 ASSERT_EQ(2, event->base_packet_event_size());
397 const BasePacketEvent& base_event = event->base_packet_event(0); 414 const BasePacketEvent& base_event = event->base_packet_event(0);
398 EXPECT_EQ(packet_id_1, base_event.packet_id()); 415 EXPECT_EQ(packet_id_1, base_event.packet_id());
399 ASSERT_EQ(1, base_event.event_type_size()); 416 ASSERT_EQ(1, base_event.event_type_size());
400 EXPECT_EQ(media::cast::proto::PACKET_SENT_TO_PACER, base_event.event_type(0)); 417 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_SENT_TO_PACER,
418 base_event.event_type(0));
401 ASSERT_EQ(1, base_event.event_timestamp_micros_size()); 419 ASSERT_EQ(1, base_event.event_timestamp_micros_size());
402 EXPECT_EQ(now1.ToInternalValue(), base_event.event_timestamp_micros(0)); 420 EXPECT_EQ(now1.ToInternalValue(), base_event.event_timestamp_micros(0));
403 421
404 const BasePacketEvent& base_event_2 = event->base_packet_event(1); 422 const BasePacketEvent& base_event_2 = event->base_packet_event(1);
405 EXPECT_EQ(packet_id_2, base_event_2.packet_id()); 423 EXPECT_EQ(packet_id_2, base_event_2.packet_id());
406 ASSERT_EQ(1, base_event_2.event_type_size()); 424 ASSERT_EQ(1, base_event_2.event_type_size());
407 EXPECT_EQ(media::cast::proto::PACKET_RETRANSMITTED, 425 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_RETRANSMITTED,
408 base_event_2.event_type(0)); 426 base_event_2.event_type(0));
409 ASSERT_EQ(1, base_event_2.event_timestamp_micros_size()); 427 ASSERT_EQ(1, base_event_2.event_timestamp_micros_size());
410 EXPECT_EQ(now2.ToInternalValue(), base_event_2.event_timestamp_micros(0)); 428 EXPECT_EQ(now2.ToInternalValue(), base_event_2.event_timestamp_micros(0));
411 } 429 }
412 430
413 TEST_F(EncodingEventSubscriberTest, MultiplePacketEvents) { 431 TEST_F(EncodingEventSubscriberTest, MultiplePacketEvents) {
414 Init(OTHER_EVENT); 432 Init(VIDEO_EVENT);
415 base::TimeTicks now1(testing_clock_->NowTicks()); 433 base::TimeTicks now1(testing_clock_->NowTicks());
416 RtpTimestamp rtp_timestamp_1 = 100; 434 RtpTimestamp rtp_timestamp_1 = 100;
417 RtpTimestamp rtp_timestamp_2 = 200; 435 RtpTimestamp rtp_timestamp_2 = 200;
418 int packet_id_1 = 2; 436 int packet_id_1 = 2;
419 int packet_id_2 = 3; 437 int packet_id_2 = 3;
420 int size = 100; 438 int size = 100;
421 cast_environment_->Logging()->InsertPacketEvent( 439 cast_environment_->Logging()->InsertPacketEvent(now1,
422 now1, kPacketSentToPacer, rtp_timestamp_1, /*frame_id*/ 0, packet_id_1, 440 kVideoPacketSentToPacer,
423 /*max_packet_id*/ 10, size); 441 rtp_timestamp_1,
442 /*frame_id*/ 0,
443 packet_id_1,
444 /*max_packet_id*/ 10,
445 size);
424 446
425 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20)); 447 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20));
426 base::TimeTicks now2(testing_clock_->NowTicks()); 448 base::TimeTicks now2(testing_clock_->NowTicks());
427 cast_environment_->Logging()->InsertPacketEvent( 449 cast_environment_->Logging()->InsertPacketEvent(now2,
428 now2, kPacketRetransmitted, rtp_timestamp_2, /*frame_id*/ 0, packet_id_2, 450 kVideoPacketRetransmitted,
429 /*max_packet_id*/ 10, size); 451 rtp_timestamp_2,
452 /*frame_id*/ 0,
453 packet_id_2,
454 /*max_packet_id*/ 10,
455 size);
430 456
431 GetEventsAndReset(); 457 GetEventsAndReset();
432 458
433 ASSERT_EQ(2u, packet_events.size()); 459 ASSERT_EQ(2u, packet_events.size());
434 460
435 RtpTimestamp relative_rtp_timestamp = rtp_timestamp_1 - first_rtp_timestamp; 461 RtpTimestamp relative_rtp_timestamp = rtp_timestamp_1 - first_rtp_timestamp;
436 PacketEventMap::iterator it = packet_events.find(relative_rtp_timestamp); 462 PacketEventMap::iterator it = packet_events.find(relative_rtp_timestamp);
437 ASSERT_TRUE(it != packet_events.end()); 463 ASSERT_TRUE(it != packet_events.end());
438 464
439 linked_ptr<AggregatedPacketEvent> event = it->second; 465 linked_ptr<AggregatedPacketEvent> event = it->second;
440 466
441 EXPECT_EQ(relative_rtp_timestamp, event->rtp_timestamp()); 467 EXPECT_EQ(relative_rtp_timestamp, event->rtp_timestamp());
442 468
443 ASSERT_EQ(1, event->base_packet_event_size()); 469 ASSERT_EQ(1, event->base_packet_event_size());
444 const BasePacketEvent& base_event = event->base_packet_event(0); 470 const BasePacketEvent& base_event = event->base_packet_event(0);
445 EXPECT_EQ(packet_id_1, base_event.packet_id()); 471 EXPECT_EQ(packet_id_1, base_event.packet_id());
446 ASSERT_EQ(1, base_event.event_type_size()); 472 ASSERT_EQ(1, base_event.event_type_size());
447 EXPECT_EQ(media::cast::proto::PACKET_SENT_TO_PACER, base_event.event_type(0)); 473 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_SENT_TO_PACER,
474 base_event.event_type(0));
448 ASSERT_EQ(1, base_event.event_timestamp_micros_size()); 475 ASSERT_EQ(1, base_event.event_timestamp_micros_size());
449 EXPECT_EQ(now1.ToInternalValue(), base_event.event_timestamp_micros(0)); 476 EXPECT_EQ(now1.ToInternalValue(), base_event.event_timestamp_micros(0));
450 477
451 relative_rtp_timestamp = rtp_timestamp_2 - first_rtp_timestamp; 478 relative_rtp_timestamp = rtp_timestamp_2 - first_rtp_timestamp;
452 it = packet_events.find(relative_rtp_timestamp); 479 it = packet_events.find(relative_rtp_timestamp);
453 ASSERT_TRUE(it != packet_events.end()); 480 ASSERT_TRUE(it != packet_events.end());
454 481
455 event = it->second; 482 event = it->second;
456 483
457 EXPECT_EQ(relative_rtp_timestamp, event->rtp_timestamp()); 484 EXPECT_EQ(relative_rtp_timestamp, event->rtp_timestamp());
458 485
459 ASSERT_EQ(1, event->base_packet_event_size()); 486 ASSERT_EQ(1, event->base_packet_event_size());
460 const BasePacketEvent& base_event_2 = event->base_packet_event(0); 487 const BasePacketEvent& base_event_2 = event->base_packet_event(0);
461 EXPECT_EQ(packet_id_2, base_event_2.packet_id()); 488 EXPECT_EQ(packet_id_2, base_event_2.packet_id());
462 ASSERT_EQ(1, base_event_2.event_type_size()); 489 ASSERT_EQ(1, base_event_2.event_type_size());
463 EXPECT_EQ(media::cast::proto::PACKET_RETRANSMITTED, 490 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_RETRANSMITTED,
464 base_event_2.event_type(0)); 491 base_event_2.event_type(0));
465 ASSERT_EQ(1, base_event_2.event_timestamp_micros_size()); 492 ASSERT_EQ(1, base_event_2.event_timestamp_micros_size());
466 EXPECT_EQ(now2.ToInternalValue(), base_event_2.event_timestamp_micros(0)); 493 EXPECT_EQ(now2.ToInternalValue(), base_event_2.event_timestamp_micros(0));
467 } 494 }
468 495
469 TEST_F(EncodingEventSubscriberTest, FirstRtpTimestamp) { 496 TEST_F(EncodingEventSubscriberTest, FirstRtpTimestamp) {
470 Init(VIDEO_EVENT); 497 Init(VIDEO_EVENT);
471 RtpTimestamp rtp_timestamp = 12345; 498 RtpTimestamp rtp_timestamp = 12345;
472 base::TimeTicks now(testing_clock_->NowTicks()); 499 base::TimeTicks now(testing_clock_->NowTicks());
473 500
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 548
522 FrameEventMap::iterator it = frame_events.find(0); 549 FrameEventMap::iterator it = frame_events.find(0);
523 ASSERT_NE(frame_events.end(), it); 550 ASSERT_NE(frame_events.end(), it);
524 551
525 it = frame_events.find(30); 552 it = frame_events.find(30);
526 ASSERT_NE(frame_events.end(), it); 553 ASSERT_NE(frame_events.end(), it);
527 } 554 }
528 555
529 } // namespace cast 556 } // namespace cast
530 } // namespace media 557 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/cast_receiver_impl.cc ('k') | media/cast/logging/logging.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698