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

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

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

Powered by Google App Engine
This is Rietveld 408576698