| 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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 | 88 |
| 89 RtcpReceiverEventLogMessages::const_iterator event_incoming_it = | 89 RtcpReceiverEventLogMessages::const_iterator event_incoming_it = |
| 90 incoming_it->event_log_messages_.begin(); | 90 incoming_it->event_log_messages_.begin(); |
| 91 RtcpReceiverEventLogMessages::const_iterator event_expected_it = | 91 RtcpReceiverEventLogMessages::const_iterator event_expected_it = |
| 92 expected_it->event_log_messages_.begin(); | 92 expected_it->event_log_messages_.begin(); |
| 93 for (; event_incoming_it != incoming_it->event_log_messages_.end(); | 93 for (; event_incoming_it != incoming_it->event_log_messages_.end(); |
| 94 ++event_incoming_it, ++event_expected_it) { | 94 ++event_incoming_it, ++event_expected_it) { |
| 95 EXPECT_EQ(event_expected_it->type, event_incoming_it->type); | 95 EXPECT_EQ(event_expected_it->type, event_incoming_it->type); |
| 96 EXPECT_EQ(event_expected_it->event_timestamp, | 96 EXPECT_EQ(event_expected_it->event_timestamp, |
| 97 event_incoming_it->event_timestamp); | 97 event_incoming_it->event_timestamp); |
| 98 if (event_expected_it->type == kPacketReceived) { | 98 if (event_expected_it->type == kVideoPacketReceived) { |
| 99 EXPECT_EQ(event_expected_it->packet_id, event_incoming_it->packet_id); | 99 EXPECT_EQ(event_expected_it->packet_id, event_incoming_it->packet_id); |
| 100 } else { | 100 } else { |
| 101 EXPECT_EQ(event_expected_it->delay_delta, | 101 EXPECT_EQ(event_expected_it->delay_delta, |
| 102 event_incoming_it->delay_delta); | 102 event_incoming_it->delay_delta); |
| 103 } | 103 } |
| 104 } | 104 } |
| 105 expected_receiver_log_.pop_front(); | 105 expected_receiver_log_.pop_front(); |
| 106 expected_it = expected_receiver_log_.begin(); | 106 expected_it = expected_receiver_log_.begin(); |
| 107 } | 107 } |
| 108 called_on_received_receiver_log_ = true; | 108 called_on_received_receiver_log_ = true; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 }; | 149 }; |
| 150 | 150 |
| 151 } // namespace | 151 } // namespace |
| 152 | 152 |
| 153 class RtcpReceiverTest : public ::testing::Test { | 153 class RtcpReceiverTest : public ::testing::Test { |
| 154 protected: | 154 protected: |
| 155 RtcpReceiverTest() | 155 RtcpReceiverTest() |
| 156 : task_runner_(new test::FakeTaskRunner(&testing_clock_)), | 156 : task_runner_(new test::FakeTaskRunner(&testing_clock_)), |
| 157 cast_environment_(new CastEnvironment(&testing_clock_, task_runner_, | 157 cast_environment_(new CastEnvironment(&testing_clock_, task_runner_, |
| 158 task_runner_, task_runner_, task_runner_, task_runner_, | 158 task_runner_, task_runner_, task_runner_, task_runner_, |
| 159 task_runner_, GetDefaultCastLoggingConfig())), | 159 task_runner_, GetDefaultCastReceiverLoggingConfig())), |
| 160 rtcp_receiver_(new RtcpReceiver(cast_environment_, | 160 rtcp_receiver_(new RtcpReceiver(cast_environment_, |
| 161 &mock_sender_feedback_, | 161 &mock_sender_feedback_, |
| 162 &mock_receiver_feedback_, | 162 &mock_receiver_feedback_, |
| 163 &mock_rtt_feedback_, | 163 &mock_rtt_feedback_, |
| 164 kSourceSsrc)) { | 164 kSourceSsrc)) { |
| 165 } | 165 } |
| 166 | 166 |
| 167 virtual ~RtcpReceiverTest() {} | 167 virtual ~RtcpReceiverTest() {} |
| 168 | 168 |
| 169 virtual void SetUp() OVERRIDE { | 169 virtual void SetUp() OVERRIDE { |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 495 &mock_sender_feedback_, | 495 &mock_sender_feedback_, |
| 496 &cast_log_verification, | 496 &cast_log_verification, |
| 497 &mock_rtt_feedback_, | 497 &mock_rtt_feedback_, |
| 498 kSourceSsrc); | 498 kSourceSsrc); |
| 499 rtcp_receiver.SetRemoteSSRC(kSenderSsrc); | 499 rtcp_receiver.SetRemoteSSRC(kSenderSsrc); |
| 500 | 500 |
| 501 RtcpReceiverLogMessage receiver_log; | 501 RtcpReceiverLogMessage receiver_log; |
| 502 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp); | 502 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp); |
| 503 RtcpReceiverEventLogMessage event_log; | 503 RtcpReceiverEventLogMessage event_log; |
| 504 | 504 |
| 505 event_log.type = kAckSent; | 505 event_log.type = kVideoAckSent; |
| 506 event_log.event_timestamp = testing_clock.NowTicks(); | 506 event_log.event_timestamp = testing_clock.NowTicks(); |
| 507 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs); | 507 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs); |
| 508 frame_log.event_log_messages_.push_back(event_log); | 508 frame_log.event_log_messages_.push_back(event_log); |
| 509 | 509 |
| 510 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); | 510 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); |
| 511 event_log.type = kPacketReceived; | 511 event_log.type = kVideoPacketReceived; |
| 512 event_log.event_timestamp = testing_clock.NowTicks(); | 512 event_log.event_timestamp = testing_clock.NowTicks(); |
| 513 event_log.packet_id = kLostPacketId1; | 513 event_log.packet_id = kLostPacketId1; |
| 514 frame_log.event_log_messages_.push_back(event_log); | 514 frame_log.event_log_messages_.push_back(event_log); |
| 515 receiver_log.push_back(frame_log); | 515 receiver_log.push_back(frame_log); |
| 516 | 516 |
| 517 cast_log_verification.SetExpectedReceiverLog(receiver_log); | 517 cast_log_verification.SetExpectedReceiverLog(receiver_log); |
| 518 | 518 |
| 519 TestRtcpPacketBuilder p; | 519 TestRtcpPacketBuilder p; |
| 520 p.AddRr(kSenderSsrc, 1); | 520 p.AddRr(kSenderSsrc, 1); |
| 521 p.AddRb(kSourceSsrc); | 521 p.AddRb(kSourceSsrc); |
| 522 p.AddReceiverLog(kSenderSsrc); | 522 p.AddReceiverLog(kSenderSsrc); |
| 523 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs); | 523 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs); |
| 524 p.AddReceiverEventLog(kDelayDeltaMs, 1, 0); | 524 p.AddReceiverEventLog(kDelayDeltaMs, 5, 0); |
| 525 p.AddReceiverEventLog(kLostPacketId1, 6, kTimeDelayMs); | 525 p.AddReceiverEventLog(kLostPacketId1, 8, kTimeDelayMs); |
| 526 | 526 |
| 527 EXPECT_CALL(mock_rtt_feedback_, | 527 EXPECT_CALL(mock_rtt_feedback_, |
| 528 OnReceivedDelaySinceLastReport(kSourceSsrc, kLastSr, kDelayLastSr)). | 528 OnReceivedDelaySinceLastReport(kSourceSsrc, kLastSr, kDelayLastSr)). |
| 529 Times(1); | 529 Times(1); |
| 530 | 530 |
| 531 RtcpParser rtcp_parser(p.Packet(), p.Length()); | 531 RtcpParser rtcp_parser(p.Packet(), p.Length()); |
| 532 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); | 532 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); |
| 533 | 533 |
| 534 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); | 534 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); |
| 535 } | 535 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 547 &cast_log_verification, | 547 &cast_log_verification, |
| 548 &mock_rtt_feedback_, | 548 &mock_rtt_feedback_, |
| 549 kSourceSsrc); | 549 kSourceSsrc); |
| 550 rtcp_receiver.SetRemoteSSRC(kSenderSsrc); | 550 rtcp_receiver.SetRemoteSSRC(kSenderSsrc); |
| 551 | 551 |
| 552 RtcpReceiverLogMessage receiver_log; | 552 RtcpReceiverLogMessage receiver_log; |
| 553 | 553 |
| 554 for (int j = 0; j < 100; ++j) { | 554 for (int j = 0; j < 100; ++j) { |
| 555 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp); | 555 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp); |
| 556 RtcpReceiverEventLogMessage event_log; | 556 RtcpReceiverEventLogMessage event_log; |
| 557 event_log.type = kAckSent; | 557 event_log.type = kVideoAckSent; |
| 558 event_log.event_timestamp = testing_clock.NowTicks(); | 558 event_log.event_timestamp = testing_clock.NowTicks(); |
| 559 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs); | 559 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs); |
| 560 frame_log.event_log_messages_.push_back(event_log); | 560 frame_log.event_log_messages_.push_back(event_log); |
| 561 receiver_log.push_back(frame_log); | 561 receiver_log.push_back(frame_log); |
| 562 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); | 562 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); |
| 563 } | 563 } |
| 564 | 564 |
| 565 cast_log_verification.SetExpectedReceiverLog(receiver_log); | 565 cast_log_verification.SetExpectedReceiverLog(receiver_log); |
| 566 | 566 |
| 567 TestRtcpPacketBuilder p; | 567 TestRtcpPacketBuilder p; |
| 568 p.AddRr(kSenderSsrc, 1); | 568 p.AddRr(kSenderSsrc, 1); |
| 569 p.AddRb(kSourceSsrc); | 569 p.AddRb(kSourceSsrc); |
| 570 p.AddReceiverLog(kSenderSsrc); | 570 p.AddReceiverLog(kSenderSsrc); |
| 571 for (int i = 0; i < 100; ++i) { | 571 for (int i = 0; i < 100; ++i) { |
| 572 p.AddReceiverFrameLog(kRtpTimestamp, 1, kTimeBaseMs + i * kTimeDelayMs); | 572 p.AddReceiverFrameLog(kRtpTimestamp, 1, kTimeBaseMs + i * kTimeDelayMs); |
| 573 p.AddReceiverEventLog(kDelayDeltaMs, 1, 0); | 573 p.AddReceiverEventLog(kDelayDeltaMs, 5, 0); |
| 574 } | 574 } |
| 575 | 575 |
| 576 EXPECT_CALL(mock_rtt_feedback_, | 576 EXPECT_CALL(mock_rtt_feedback_, |
| 577 OnReceivedDelaySinceLastReport(kSourceSsrc, kLastSr, kDelayLastSr)). | 577 OnReceivedDelaySinceLastReport(kSourceSsrc, kLastSr, kDelayLastSr)). |
| 578 Times(1); | 578 Times(1); |
| 579 | 579 |
| 580 RtcpParser rtcp_parser(p.Packet(), p.Length()); | 580 RtcpParser rtcp_parser(p.Packet(), p.Length()); |
| 581 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); | 581 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); |
| 582 | 582 |
| 583 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); | 583 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); |
| 584 } | 584 } |
| 585 | 585 |
| 586 } // namespace cast | 586 } // namespace cast |
| 587 } // namespace media | 587 } // namespace media |
| OLD | NEW |