Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(514)

Unified Diff: media/cast/net/rtcp/rtcp_unittest.cc

Issue 1709863002: Add Cast PLI support on sender side. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased and addressed comments. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698