OLD | NEW |
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 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 EXPECT_TRUE(packet_events_.empty()); | 336 EXPECT_TRUE(packet_events_.empty()); |
337 } | 337 } |
338 | 338 |
339 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForPacket) { | 339 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForPacket) { |
340 Init(VIDEO_EVENT); | 340 Init(VIDEO_EVENT); |
341 base::TimeTicks now1(testing_clock_->NowTicks()); | 341 base::TimeTicks now1(testing_clock_->NowTicks()); |
342 RtpTimestamp rtp_timestamp = 100; | 342 RtpTimestamp rtp_timestamp = 100; |
343 int packet_id = 2; | 343 int packet_id = 2; |
344 int size = 100; | 344 int size = 100; |
345 cast_environment_->Logging()->InsertPacketEvent(now1, | 345 cast_environment_->Logging()->InsertPacketEvent(now1, |
346 kVideoPacketSentToPacer, | 346 kVideoPacketSentToNetwork, |
347 rtp_timestamp, | 347 rtp_timestamp, |
348 /*frame_id*/ 0, | 348 /*frame_id*/ 0, |
349 packet_id, | 349 packet_id, |
350 /*max_packet_id*/ 10, | 350 /*max_packet_id*/ 10, |
351 size); | 351 size); |
352 | 352 |
353 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20)); | 353 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20)); |
354 base::TimeTicks now2(testing_clock_->NowTicks()); | 354 base::TimeTicks now2(testing_clock_->NowTicks()); |
355 cast_environment_->Logging()->InsertPacketEvent(now2, | 355 cast_environment_->Logging()->InsertPacketEvent(now2, |
356 kVideoPacketSentToNetwork, | 356 kVideoPacketRetransmitted, |
357 rtp_timestamp, | 357 rtp_timestamp, |
358 /*frame_id*/ 0, | 358 /*frame_id*/ 0, |
359 packet_id, | 359 packet_id, |
360 /*max_packet_id*/ 10, | 360 /*max_packet_id*/ 10, |
361 size); | 361 size); |
362 | 362 |
363 GetEventsAndReset(); | 363 GetEventsAndReset(); |
364 | 364 |
365 ASSERT_EQ(1u, packet_events_.size()); | 365 ASSERT_EQ(1u, packet_events_.size()); |
366 | 366 |
367 RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp_; | 367 RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp_; |
368 PacketEventList::iterator it = packet_events_.begin(); | 368 PacketEventList::iterator it = packet_events_.begin(); |
369 | 369 |
370 linked_ptr<AggregatedPacketEvent> event = *it; | 370 linked_ptr<AggregatedPacketEvent> event = *it; |
371 | 371 |
372 EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); | 372 EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
373 | 373 |
374 ASSERT_EQ(1, event->base_packet_event_size()); | 374 ASSERT_EQ(1, event->base_packet_event_size()); |
375 const BasePacketEvent& base_event = event->base_packet_event(0); | 375 const BasePacketEvent& base_event = event->base_packet_event(0); |
376 EXPECT_EQ(packet_id, base_event.packet_id()); | 376 EXPECT_EQ(packet_id, base_event.packet_id()); |
377 ASSERT_EQ(2, base_event.event_type_size()); | 377 ASSERT_EQ(2, base_event.event_type_size()); |
378 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_SENT_TO_PACER, | 378 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_SENT_TO_NETWORK, |
379 base_event.event_type(0)); | 379 base_event.event_type(0)); |
380 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_SENT_TO_NETWORK, | 380 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_RETRANSMITTED, |
381 base_event.event_type(1)); | 381 base_event.event_type(1)); |
382 ASSERT_EQ(2, base_event.event_timestamp_ms_size()); | 382 ASSERT_EQ(2, base_event.event_timestamp_ms_size()); |
383 EXPECT_EQ(InMilliseconds(now1), base_event.event_timestamp_ms(0)); | 383 EXPECT_EQ(InMilliseconds(now1), base_event.event_timestamp_ms(0)); |
384 EXPECT_EQ(InMilliseconds(now2), base_event.event_timestamp_ms(1)); | 384 EXPECT_EQ(InMilliseconds(now2), base_event.event_timestamp_ms(1)); |
385 } | 385 } |
386 | 386 |
387 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForFrame) { | 387 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForFrame) { |
388 Init(VIDEO_EVENT); | 388 Init(VIDEO_EVENT); |
389 base::TimeTicks now1(testing_clock_->NowTicks()); | 389 base::TimeTicks now1(testing_clock_->NowTicks()); |
390 RtpTimestamp rtp_timestamp = 100; | 390 RtpTimestamp rtp_timestamp = 100; |
391 int packet_id_1 = 2; | 391 int packet_id_1 = 2; |
392 int packet_id_2 = 3; | 392 int packet_id_2 = 3; |
393 int size = 100; | 393 int size = 100; |
394 cast_environment_->Logging()->InsertPacketEvent(now1, | 394 cast_environment_->Logging()->InsertPacketEvent(now1, |
395 kVideoPacketSentToPacer, | 395 kVideoPacketSentToNetwork, |
396 rtp_timestamp, | 396 rtp_timestamp, |
397 /*frame_id*/ 0, | 397 /*frame_id*/ 0, |
398 packet_id_1, | 398 packet_id_1, |
399 /*max_packet_id*/ 10, | 399 /*max_packet_id*/ 10, |
400 size); | 400 size); |
401 | 401 |
402 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20)); | 402 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20)); |
403 base::TimeTicks now2(testing_clock_->NowTicks()); | 403 base::TimeTicks now2(testing_clock_->NowTicks()); |
404 cast_environment_->Logging()->InsertPacketEvent(now2, | 404 cast_environment_->Logging()->InsertPacketEvent(now2, |
405 kVideoPacketRetransmitted, | 405 kVideoPacketRetransmitted, |
(...skipping 11 matching lines...) Expand all Loading... |
417 PacketEventList::iterator it = packet_events_.begin(); | 417 PacketEventList::iterator it = packet_events_.begin(); |
418 | 418 |
419 linked_ptr<AggregatedPacketEvent> event = *it; | 419 linked_ptr<AggregatedPacketEvent> event = *it; |
420 | 420 |
421 EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); | 421 EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
422 | 422 |
423 ASSERT_EQ(2, event->base_packet_event_size()); | 423 ASSERT_EQ(2, event->base_packet_event_size()); |
424 const BasePacketEvent& base_event = event->base_packet_event(0); | 424 const BasePacketEvent& base_event = event->base_packet_event(0); |
425 EXPECT_EQ(packet_id_1, base_event.packet_id()); | 425 EXPECT_EQ(packet_id_1, base_event.packet_id()); |
426 ASSERT_EQ(1, base_event.event_type_size()); | 426 ASSERT_EQ(1, base_event.event_type_size()); |
427 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_SENT_TO_PACER, | 427 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_SENT_TO_NETWORK, |
428 base_event.event_type(0)); | 428 base_event.event_type(0)); |
429 ASSERT_EQ(1, base_event.event_timestamp_ms_size()); | 429 ASSERT_EQ(1, base_event.event_timestamp_ms_size()); |
430 EXPECT_EQ(InMilliseconds(now1), base_event.event_timestamp_ms(0)); | 430 EXPECT_EQ(InMilliseconds(now1), base_event.event_timestamp_ms(0)); |
431 | 431 |
432 const BasePacketEvent& base_event_2 = event->base_packet_event(1); | 432 const BasePacketEvent& base_event_2 = event->base_packet_event(1); |
433 EXPECT_EQ(packet_id_2, base_event_2.packet_id()); | 433 EXPECT_EQ(packet_id_2, base_event_2.packet_id()); |
434 ASSERT_EQ(1, base_event_2.event_type_size()); | 434 ASSERT_EQ(1, base_event_2.event_type_size()); |
435 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_RETRANSMITTED, | 435 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_RETRANSMITTED, |
436 base_event_2.event_type(0)); | 436 base_event_2.event_type(0)); |
437 ASSERT_EQ(1, base_event_2.event_timestamp_ms_size()); | 437 ASSERT_EQ(1, base_event_2.event_timestamp_ms_size()); |
438 EXPECT_EQ(InMilliseconds(now2), base_event_2.event_timestamp_ms(0)); | 438 EXPECT_EQ(InMilliseconds(now2), base_event_2.event_timestamp_ms(0)); |
439 } | 439 } |
440 | 440 |
441 TEST_F(EncodingEventSubscriberTest, MultiplePacketEvents) { | 441 TEST_F(EncodingEventSubscriberTest, MultiplePacketEvents) { |
442 Init(VIDEO_EVENT); | 442 Init(VIDEO_EVENT); |
443 base::TimeTicks now1(testing_clock_->NowTicks()); | 443 base::TimeTicks now1(testing_clock_->NowTicks()); |
444 RtpTimestamp rtp_timestamp_1 = 100; | 444 RtpTimestamp rtp_timestamp_1 = 100; |
445 RtpTimestamp rtp_timestamp_2 = 200; | 445 RtpTimestamp rtp_timestamp_2 = 200; |
446 int packet_id_1 = 2; | 446 int packet_id_1 = 2; |
447 int packet_id_2 = 3; | 447 int packet_id_2 = 3; |
448 int size = 100; | 448 int size = 100; |
449 cast_environment_->Logging()->InsertPacketEvent(now1, | 449 cast_environment_->Logging()->InsertPacketEvent(now1, |
450 kVideoPacketSentToPacer, | 450 kVideoPacketSentToNetwork, |
451 rtp_timestamp_1, | 451 rtp_timestamp_1, |
452 /*frame_id*/ 0, | 452 /*frame_id*/ 0, |
453 packet_id_1, | 453 packet_id_1, |
454 /*max_packet_id*/ 10, | 454 /*max_packet_id*/ 10, |
455 size); | 455 size); |
456 | 456 |
457 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20)); | 457 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(20)); |
458 base::TimeTicks now2(testing_clock_->NowTicks()); | 458 base::TimeTicks now2(testing_clock_->NowTicks()); |
459 cast_environment_->Logging()->InsertPacketEvent(now2, | 459 cast_environment_->Logging()->InsertPacketEvent(now2, |
460 kVideoPacketRetransmitted, | 460 kVideoPacketRetransmitted, |
(...skipping 11 matching lines...) Expand all Loading... |
472 PacketEventList::iterator it = packet_events_.begin(); | 472 PacketEventList::iterator it = packet_events_.begin(); |
473 | 473 |
474 linked_ptr<AggregatedPacketEvent> event = *it; | 474 linked_ptr<AggregatedPacketEvent> event = *it; |
475 | 475 |
476 EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); | 476 EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
477 | 477 |
478 ASSERT_EQ(1, event->base_packet_event_size()); | 478 ASSERT_EQ(1, event->base_packet_event_size()); |
479 const BasePacketEvent& base_event = event->base_packet_event(0); | 479 const BasePacketEvent& base_event = event->base_packet_event(0); |
480 EXPECT_EQ(packet_id_1, base_event.packet_id()); | 480 EXPECT_EQ(packet_id_1, base_event.packet_id()); |
481 ASSERT_EQ(1, base_event.event_type_size()); | 481 ASSERT_EQ(1, base_event.event_type_size()); |
482 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_SENT_TO_PACER, | 482 EXPECT_EQ(media::cast::proto::VIDEO_PACKET_SENT_TO_NETWORK, |
483 base_event.event_type(0)); | 483 base_event.event_type(0)); |
484 ASSERT_EQ(1, base_event.event_timestamp_ms_size()); | 484 ASSERT_EQ(1, base_event.event_timestamp_ms_size()); |
485 EXPECT_EQ(InMilliseconds(now1), base_event.event_timestamp_ms(0)); | 485 EXPECT_EQ(InMilliseconds(now1), base_event.event_timestamp_ms(0)); |
486 | 486 |
487 relative_rtp_timestamp = rtp_timestamp_2 - first_rtp_timestamp_; | 487 relative_rtp_timestamp = rtp_timestamp_2 - first_rtp_timestamp_; |
488 ++it; | 488 ++it; |
489 ASSERT_TRUE(it != packet_events_.end()); | 489 ASSERT_TRUE(it != packet_events_.end()); |
490 | 490 |
491 event = *it; | 491 event = *it; |
492 EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); | 492 EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
637 EXPECT_EQ(kMaxEventsPerProto, | 637 EXPECT_EQ(kMaxEventsPerProto, |
638 packet_event->base_packet_event(0).event_type_size()); | 638 packet_event->base_packet_event(0).event_type_size()); |
639 | 639 |
640 ++packet_it; | 640 ++packet_it; |
641 packet_event = *packet_it; | 641 packet_event = *packet_it; |
642 EXPECT_EQ(1, packet_event->base_packet_event(0).event_type_size()); | 642 EXPECT_EQ(1, packet_event->base_packet_event(0).event_type_size()); |
643 } | 643 } |
644 | 644 |
645 } // namespace cast | 645 } // namespace cast |
646 } // namespace media | 646 } // namespace media |
OLD | NEW |