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

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: Address dcheng's comments. Created 4 years, 9 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
« no previous file with comments | « media/cast/net/rtcp/rtcp_defines.cc ('k') | media/cast/net/rtcp/rtcp_utility.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 815010542aed6658b377766ba195cbcfb6fb9002..ef28072831afb5a6ce16f7793f8dd7fd93bcb07c 100644
--- a/media/cast/net/rtcp/rtcp_unittest.cc
+++ b/media/cast/net/rtcp/rtcp_unittest.cc
@@ -88,13 +88,15 @@ 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(),
&rtp_sender_pacer_,
kSenderSsrc,
kReceiverSsrc),
rtcp_at_rtp_receiver_(receiver_clock_.get(),
kReceiverSsrc,
- kSenderSsrc) {
+ kSenderSsrc),
+ received_pli_(false) {
sender_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks());
receiver_clock_->SetSkew(
1.0, // No skew.
@@ -136,6 +138,7 @@ class RtcpTest : public ::testing::Test {
PacketRef BuildRtcpPacketFromRtpReceiver(
const RtcpTimeData& time_data,
const RtcpCastMessage* cast_message,
+ const RtcpPliMessage* pli_message,
base::TimeDelta target_delay,
const ReceiverRtcpEventSubscriber::RtcpEvents* rtcp_events,
const RtpReceiverStatistics* rtp_receiver_statistics) {
@@ -172,11 +175,15 @@ class RtcpTest : public ::testing::Test {
}
if (cast_message)
builder.AddCast(*cast_message, target_delay);
+ if (pli_message)
+ builder.AddPli(*pli_message);
if (rtcp_events)
builder.AddReceiverLog(*rtcp_events);
return builder.Finish();
}
+ void OnReceivedPli() { received_pli_ = true; }
+
scoped_ptr<base::SimpleTestTickClock> sender_clock_;
scoped_ptr<test::SkewedTickClock> receiver_clock_;
FakeRtcpTransport rtp_sender_pacer_;
@@ -187,6 +194,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);
@@ -254,7 +262,7 @@ TEST_F(RtcpTest, RoundTripTimesDeterminedFromReportPingPong) {
rtp_receiver_pacer_.SendRtcpPacket(
rtcp_at_rtp_receiver_.local_ssrc(),
BuildRtcpPacketFromRtpReceiver(
- 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,
@@ -273,7 +281,7 @@ TEST_F(RtcpTest, ReportCastFeedback) {
rtp_receiver_pacer_.SendRtcpPacket(
rtcp_at_rtp_receiver_.local_ssrc(),
BuildRtcpPacketFromRtpReceiver(
- 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);
@@ -286,6 +294,16 @@ TEST_F(RtcpTest, ReportCastFeedback) {
last_cast_message_.missing_frames_and_packets.begin()));
}
+TEST_F(RtcpTest, ReportPli) {
+ RtcpPliMessage pli_message(kSenderSsrc);
+ rtp_receiver_pacer_.SendRtcpPacket(
+ rtcp_at_rtp_receiver_.local_ssrc(),
+ BuildRtcpPacketFromRtpReceiver(CreateRtcpTimeData(base::TimeTicks()),
+ nullptr, &pli_message, base::TimeDelta(),
+ nullptr, nullptr));
+ EXPECT_TRUE(received_pli_);
+}
+
TEST_F(RtcpTest, DropLateRtcpPacket) {
RtcpCastMessage cast_message(kSenderSsrc);
cast_message.ack_frame_id = 1;
@@ -293,7 +311,8 @@ TEST_F(RtcpTest, DropLateRtcpPacket) {
rtcp_at_rtp_receiver_.local_ssrc(),
BuildRtcpPacketFromRtpReceiver(
CreateRtcpTimeData(receiver_clock_->NowTicks()), &cast_message,
- base::TimeDelta::FromMilliseconds(kTargetDelayMs), nullptr, nullptr));
+ nullptr, base::TimeDelta::FromMilliseconds(kTargetDelayMs), nullptr,
+ nullptr));
// Send a packet with old timestamp
RtcpCastMessage late_cast_message(kSenderSsrc);
@@ -303,7 +322,7 @@ TEST_F(RtcpTest, DropLateRtcpPacket) {
BuildRtcpPacketFromRtpReceiver(
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);
@@ -315,7 +334,7 @@ TEST_F(RtcpTest, DropLateRtcpPacket) {
rtcp_at_rtp_receiver_.local_ssrc(),
BuildRtcpPacketFromRtpReceiver(
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);
}
@@ -336,7 +355,7 @@ TEST_F(RtcpTest, ReportReceiverEvents) {
rtp_receiver_pacer_.SendRtcpPacket(
rtcp_at_rtp_receiver_.local_ssrc(),
BuildRtcpPacketFromRtpReceiver(
- CreateRtcpTimeData(receiver_clock_->NowTicks()), nullptr,
+ CreateRtcpTimeData(receiver_clock_->NowTicks()), nullptr, nullptr,
base::TimeDelta(), &rtcp_events, nullptr));
ASSERT_EQ(1UL, last_logs_.size());
« no previous file with comments | « media/cast/net/rtcp/rtcp_defines.cc ('k') | media/cast/net/rtcp/rtcp_utility.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698