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()); |