OLD | NEW |
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 "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/rtcp/mock_rtcp_receiver_feedback.h" | 8 #include "media/cast/rtcp/mock_rtcp_receiver_feedback.h" |
9 #include "media/cast/rtcp/mock_rtcp_sender_feedback.h" | 9 #include "media/cast/rtcp/mock_rtcp_sender_feedback.h" |
10 #include "media/cast/rtcp/rtcp_receiver.h" | 10 #include "media/cast/rtcp/rtcp_receiver.h" |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 | 91 |
92 RtcpReceiverEventLogMessages::const_iterator event_incoming_it = | 92 RtcpReceiverEventLogMessages::const_iterator event_incoming_it = |
93 incoming_it->event_log_messages_.begin(); | 93 incoming_it->event_log_messages_.begin(); |
94 RtcpReceiverEventLogMessages::const_iterator event_expected_it = | 94 RtcpReceiverEventLogMessages::const_iterator event_expected_it = |
95 expected_it->event_log_messages_.begin(); | 95 expected_it->event_log_messages_.begin(); |
96 for (; event_incoming_it != incoming_it->event_log_messages_.end(); | 96 for (; event_incoming_it != incoming_it->event_log_messages_.end(); |
97 ++event_incoming_it, ++event_expected_it) { | 97 ++event_incoming_it, ++event_expected_it) { |
98 EXPECT_EQ(event_expected_it->type, event_incoming_it->type); | 98 EXPECT_EQ(event_expected_it->type, event_incoming_it->type); |
99 EXPECT_EQ(event_expected_it->event_timestamp, | 99 EXPECT_EQ(event_expected_it->event_timestamp, |
100 event_incoming_it->event_timestamp); | 100 event_incoming_it->event_timestamp); |
101 if (event_expected_it->type == kVideoPacketReceived) { | 101 if (event_expected_it->type == PACKET_RECEIVED) { |
102 EXPECT_EQ(event_expected_it->packet_id, event_incoming_it->packet_id); | 102 EXPECT_EQ(event_expected_it->packet_id, event_incoming_it->packet_id); |
103 } else { | 103 } else { |
104 EXPECT_EQ(event_expected_it->delay_delta, | 104 EXPECT_EQ(event_expected_it->delay_delta, |
105 event_incoming_it->delay_delta); | 105 event_incoming_it->delay_delta); |
106 } | 106 } |
107 } | 107 } |
108 expected_receiver_log_.pop_front(); | 108 expected_receiver_log_.pop_front(); |
109 expected_it = expected_receiver_log_.begin(); | 109 expected_it = expected_receiver_log_.begin(); |
110 } | 110 } |
111 called_on_received_receiver_log_ = true; | 111 called_on_received_receiver_log_ = true; |
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 &cast_log_verification, | 494 &cast_log_verification, |
495 &mock_rtt_feedback_, | 495 &mock_rtt_feedback_, |
496 kSourceSsrc); | 496 kSourceSsrc); |
497 rtcp_receiver.SetRemoteSSRC(kSenderSsrc); | 497 rtcp_receiver.SetRemoteSSRC(kSenderSsrc); |
498 rtcp_receiver.SetCastReceiverEventHistorySize(100); | 498 rtcp_receiver.SetCastReceiverEventHistorySize(100); |
499 | 499 |
500 RtcpReceiverLogMessage receiver_log; | 500 RtcpReceiverLogMessage receiver_log; |
501 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp); | 501 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp); |
502 RtcpReceiverEventLogMessage event_log; | 502 RtcpReceiverEventLogMessage event_log; |
503 | 503 |
504 event_log.type = kVideoAckSent; | 504 event_log.type = FRAME_ACK_SENT; |
505 event_log.event_timestamp = testing_clock.NowTicks(); | 505 event_log.event_timestamp = testing_clock.NowTicks(); |
506 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs); | 506 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs); |
507 frame_log.event_log_messages_.push_back(event_log); | 507 frame_log.event_log_messages_.push_back(event_log); |
508 | 508 |
509 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); | 509 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); |
510 event_log.type = kVideoPacketReceived; | 510 event_log.type = PACKET_RECEIVED; |
511 event_log.event_timestamp = testing_clock.NowTicks(); | 511 event_log.event_timestamp = testing_clock.NowTicks(); |
512 event_log.packet_id = kLostPacketId1; | 512 event_log.packet_id = kLostPacketId1; |
513 frame_log.event_log_messages_.push_back(event_log); | 513 frame_log.event_log_messages_.push_back(event_log); |
514 | 514 |
515 event_log.type = kVideoPacketReceived; | 515 event_log.type = PACKET_RECEIVED; |
516 event_log.event_timestamp = testing_clock.NowTicks(); | 516 event_log.event_timestamp = testing_clock.NowTicks(); |
517 event_log.packet_id = kLostPacketId2; | 517 event_log.packet_id = kLostPacketId2; |
518 frame_log.event_log_messages_.push_back(event_log); | 518 frame_log.event_log_messages_.push_back(event_log); |
519 | 519 |
520 receiver_log.push_back(frame_log); | 520 receiver_log.push_back(frame_log); |
521 | 521 |
522 cast_log_verification.SetExpectedReceiverLog(receiver_log); | 522 cast_log_verification.SetExpectedReceiverLog(receiver_log); |
523 | 523 |
524 TestRtcpPacketBuilder p; | 524 TestRtcpPacketBuilder p; |
525 p.AddRr(kSenderSsrc, 1); | 525 p.AddRr(kSenderSsrc, 1); |
526 p.AddRb(kSourceSsrc); | 526 p.AddRb(kSourceSsrc); |
527 p.AddReceiverLog(kSenderSsrc); | 527 p.AddReceiverLog(kSenderSsrc); |
528 p.AddReceiverFrameLog(kRtpTimestamp, 3, kTimeBaseMs); | 528 p.AddReceiverFrameLog(kRtpTimestamp, 3, kTimeBaseMs); |
529 p.AddReceiverEventLog(kDelayDeltaMs, kVideoAckSent, 0); | 529 p.AddReceiverEventLog(kDelayDeltaMs, FRAME_ACK_SENT, 0); |
530 p.AddReceiverEventLog(kLostPacketId1, kVideoPacketReceived, kTimeDelayMs); | 530 p.AddReceiverEventLog(kLostPacketId1, PACKET_RECEIVED, kTimeDelayMs); |
531 p.AddReceiverEventLog(kLostPacketId2, kVideoPacketReceived, kTimeDelayMs); | 531 p.AddReceiverEventLog(kLostPacketId2, PACKET_RECEIVED, kTimeDelayMs); |
532 | 532 |
533 // Adds duplicated receiver event. | 533 // Adds duplicated receiver event. |
534 p.AddReceiverFrameLog(kRtpTimestamp, 3, kTimeBaseMs); | 534 p.AddReceiverFrameLog(kRtpTimestamp, 3, kTimeBaseMs); |
535 p.AddReceiverEventLog(kDelayDeltaMs, kVideoAckSent, 0); | 535 p.AddReceiverEventLog(kDelayDeltaMs, FRAME_ACK_SENT, 0); |
536 p.AddReceiverEventLog(kLostPacketId1, kVideoPacketReceived, kTimeDelayMs); | 536 p.AddReceiverEventLog(kLostPacketId1, PACKET_RECEIVED, kTimeDelayMs); |
537 p.AddReceiverEventLog(kLostPacketId2, kVideoPacketReceived, kTimeDelayMs); | 537 p.AddReceiverEventLog(kLostPacketId2, PACKET_RECEIVED, kTimeDelayMs); |
538 | 538 |
539 EXPECT_CALL(mock_rtt_feedback_, | 539 EXPECT_CALL(mock_rtt_feedback_, |
540 OnReceivedDelaySinceLastReport( | 540 OnReceivedDelaySinceLastReport( |
541 kSourceSsrc, kLastSr, kDelayLastSr)).Times(1); | 541 kSourceSsrc, kLastSr, kDelayLastSr)).Times(1); |
542 | 542 |
543 RtcpParser rtcp_parser(p.Data(), p.Length()); | 543 RtcpParser rtcp_parser(p.Data(), p.Length()); |
544 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); | 544 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); |
545 | 545 |
546 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); | 546 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); |
547 } | 547 } |
(...skipping 11 matching lines...) Expand all Loading... |
559 &cast_log_verification, | 559 &cast_log_verification, |
560 &mock_rtt_feedback_, | 560 &mock_rtt_feedback_, |
561 kSourceSsrc); | 561 kSourceSsrc); |
562 rtcp_receiver.SetRemoteSSRC(kSenderSsrc); | 562 rtcp_receiver.SetRemoteSSRC(kSenderSsrc); |
563 | 563 |
564 RtcpReceiverLogMessage receiver_log; | 564 RtcpReceiverLogMessage receiver_log; |
565 | 565 |
566 for (int j = 0; j < 100; ++j) { | 566 for (int j = 0; j < 100; ++j) { |
567 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp); | 567 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp); |
568 RtcpReceiverEventLogMessage event_log; | 568 RtcpReceiverEventLogMessage event_log; |
569 event_log.type = kVideoAckSent; | 569 event_log.type = FRAME_ACK_SENT; |
570 event_log.event_timestamp = testing_clock.NowTicks(); | 570 event_log.event_timestamp = testing_clock.NowTicks(); |
571 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs); | 571 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs); |
572 frame_log.event_log_messages_.push_back(event_log); | 572 frame_log.event_log_messages_.push_back(event_log); |
573 receiver_log.push_back(frame_log); | 573 receiver_log.push_back(frame_log); |
574 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); | 574 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); |
575 } | 575 } |
576 | 576 |
577 cast_log_verification.SetExpectedReceiverLog(receiver_log); | 577 cast_log_verification.SetExpectedReceiverLog(receiver_log); |
578 | 578 |
579 TestRtcpPacketBuilder p; | 579 TestRtcpPacketBuilder p; |
580 p.AddRr(kSenderSsrc, 1); | 580 p.AddRr(kSenderSsrc, 1); |
581 p.AddRb(kSourceSsrc); | 581 p.AddRb(kSourceSsrc); |
582 p.AddReceiverLog(kSenderSsrc); | 582 p.AddReceiverLog(kSenderSsrc); |
583 for (int i = 0; i < 100; ++i) { | 583 for (int i = 0; i < 100; ++i) { |
584 p.AddReceiverFrameLog(kRtpTimestamp, 1, kTimeBaseMs + i * kTimeDelayMs); | 584 p.AddReceiverFrameLog(kRtpTimestamp, 1, kTimeBaseMs + i * kTimeDelayMs); |
585 p.AddReceiverEventLog(kDelayDeltaMs, kVideoAckSent, 0); | 585 p.AddReceiverEventLog(kDelayDeltaMs, FRAME_ACK_SENT, 0); |
586 } | 586 } |
587 | 587 |
588 EXPECT_CALL(mock_rtt_feedback_, | 588 EXPECT_CALL(mock_rtt_feedback_, |
589 OnReceivedDelaySinceLastReport( | 589 OnReceivedDelaySinceLastReport( |
590 kSourceSsrc, kLastSr, kDelayLastSr)).Times(1); | 590 kSourceSsrc, kLastSr, kDelayLastSr)).Times(1); |
591 | 591 |
592 RtcpParser rtcp_parser(p.Data(), p.Length()); | 592 RtcpParser rtcp_parser(p.Data(), p.Length()); |
593 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); | 593 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); |
594 | 594 |
595 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); | 595 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); |
596 } | 596 } |
597 | 597 |
598 } // namespace cast | 598 } // namespace cast |
599 } // namespace media | 599 } // namespace media |
OLD | NEW |