| 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 |