| Index: media/cast/net/rtcp/rtcp_unittest.cc
|
| diff --git a/media/cast/net/rtcp/rtcp_unittest.cc b/media/cast/net/rtcp/rtcp_unittest.cc
|
| index f26f935127199e3e30fc240f1ac30a4337e0dc9d..5927adc3c84678657959945f7f1aa440c89b2214 100644
|
| --- a/media/cast/net/rtcp/rtcp_unittest.cc
|
| +++ b/media/cast/net/rtcp/rtcp_unittest.cc
|
| @@ -87,6 +87,7 @@ class RtcpTest : public ::testing::Test {
|
| base::Bind(&RtcpTest::OnMeasuredRoundTripTime,
|
| base::Unretained(this)),
|
| base::Bind(&RtcpTest::OnReceivedLogs, base::Unretained(this)),
|
| + base::Bind(&RtcpTest::OnReceivedPli, base::Unretained(this)),
|
| sender_clock_.get(),
|
| &sender_to_receiver_,
|
| kSenderSsrc,
|
| @@ -94,7 +95,8 @@ class RtcpTest : public ::testing::Test {
|
| rtcp_for_receiver_(receiver_clock_.get(),
|
| &receiver_to_sender_,
|
| kReceiverSsrc,
|
| - kSenderSsrc) {
|
| + kSenderSsrc),
|
| + received_pli_(false) {
|
| sender_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks());
|
| receiver_clock_->SetSkew(
|
| 1.0, // No skew.
|
| @@ -133,6 +135,8 @@ class RtcpTest : public ::testing::Test {
|
| }
|
| }
|
|
|
| + void OnReceivedPli() { received_pli_ = true; }
|
| +
|
| scoped_ptr<base::SimpleTestTickClock> sender_clock_;
|
| scoped_ptr<test::SkewedTickClock> receiver_clock_;
|
| FakeRtcpTransport sender_to_receiver_;
|
| @@ -143,6 +147,7 @@ class RtcpTest : public ::testing::Test {
|
| base::TimeDelta current_round_trip_time_;
|
| RtcpCastMessage last_cast_message_;
|
| RtcpReceiverLogMessage last_logs_;
|
| + bool received_pli_;
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(RtcpTest);
|
| @@ -208,7 +213,7 @@ TEST_F(RtcpTest, RoundTripTimesDeterminedFromReportPingPong) {
|
| // Receiver --> Sender
|
| RtpReceiverStatistics stats;
|
| rtcp_for_receiver_.SendRtcpReport(
|
| - CreateRtcpTimeData(receiver_clock_->NowTicks()), nullptr,
|
| + CreateRtcpTimeData(receiver_clock_->NowTicks()), nullptr, nullptr,
|
| base::TimeDelta(), nullptr, &stats);
|
| expected_rtt_according_to_sender = one_way_trip_time * 2;
|
| EXPECT_EQ(expected_rtt_according_to_sender,
|
| @@ -225,7 +230,7 @@ TEST_F(RtcpTest, ReportCastFeedback) {
|
| cast_message.missing_frames_and_packets[2] = missing_packets2;
|
|
|
| rtcp_for_receiver_.SendRtcpReport(
|
| - CreateRtcpTimeData(base::TimeTicks()), &cast_message,
|
| + CreateRtcpTimeData(base::TimeTicks()), &cast_message, nullptr,
|
| base::TimeDelta::FromMilliseconds(kTargetDelayMs), nullptr, nullptr);
|
|
|
| EXPECT_EQ(last_cast_message_.ack_frame_id, cast_message.ack_frame_id);
|
| @@ -238,11 +243,19 @@ TEST_F(RtcpTest, ReportCastFeedback) {
|
| last_cast_message_.missing_frames_and_packets.begin()));
|
| }
|
|
|
| +TEST_F(RtcpTest, ReportPli) {
|
| + RtcpPliMessage pli_message(kSenderSsrc);
|
| + rtcp_for_receiver_.SendRtcpReport(
|
| + CreateRtcpTimeData(base::TimeTicks()), nullptr, &pli_message,
|
| + base::TimeDelta::FromMilliseconds(kTargetDelayMs), nullptr, nullptr);
|
| + EXPECT_TRUE(received_pli_);
|
| +}
|
| +
|
| TEST_F(RtcpTest, DropLateRtcpPacket) {
|
| RtcpCastMessage cast_message(kSenderSsrc);
|
| cast_message.ack_frame_id = 1;
|
| rtcp_for_receiver_.SendRtcpReport(
|
| - CreateRtcpTimeData(receiver_clock_->NowTicks()), &cast_message,
|
| + CreateRtcpTimeData(receiver_clock_->NowTicks()), &cast_message, nullptr,
|
| base::TimeDelta::FromMilliseconds(kTargetDelayMs), nullptr, nullptr);
|
|
|
| // Send a packet with old timestamp
|
| @@ -251,7 +264,7 @@ TEST_F(RtcpTest, DropLateRtcpPacket) {
|
| rtcp_for_receiver_.SendRtcpReport(
|
| CreateRtcpTimeData(receiver_clock_->NowTicks() -
|
| base::TimeDelta::FromSeconds(10)),
|
| - &late_cast_message, base::TimeDelta(), nullptr, nullptr);
|
| + &late_cast_message, nullptr, base::TimeDelta(), nullptr, nullptr);
|
|
|
| // Validate data from second packet is dropped.
|
| EXPECT_EQ(last_cast_message_.ack_frame_id, cast_message.ack_frame_id);
|
| @@ -261,7 +274,7 @@ TEST_F(RtcpTest, DropLateRtcpPacket) {
|
| late_cast_message.ack_frame_id = 2;
|
| rtcp_for_receiver_.SendRtcpReport(
|
| CreateRtcpTimeData(receiver_clock_->NowTicks()), &late_cast_message,
|
| - base::TimeDelta(), nullptr, nullptr);
|
| + nullptr, base::TimeDelta(), nullptr, nullptr);
|
| EXPECT_EQ(last_cast_message_.ack_frame_id, late_cast_message.ack_frame_id);
|
| EXPECT_EQ(last_cast_message_.target_delay_ms, 0);
|
| }
|
| @@ -280,7 +293,7 @@ TEST_F(RtcpTest, ReportReceiverEvents) {
|
| rtcp_events.push_back(std::make_pair(kRtpTimeStamp, event));
|
|
|
| rtcp_for_receiver_.SendRtcpReport(
|
| - CreateRtcpTimeData(receiver_clock_->NowTicks()), nullptr,
|
| + CreateRtcpTimeData(receiver_clock_->NowTicks()), nullptr, nullptr,
|
| base::TimeDelta(), &rtcp_events, nullptr);
|
|
|
| ASSERT_EQ(1UL, last_logs_.size());
|
|
|