Delete RtpRtcp::RemoteRTCPStat in favor of GetLatestReportBlockData
Bug: webrtc:10678 Change-Id: I1cff0230208e22f56f26cf2eba976f66d9b5bafc Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212020 Reviewed-by: Henrik Boström <hbos@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33479}
This commit is contained in:
committed by
Commit Bot
parent
19775cbd29
commit
ab63350411
@ -355,9 +355,7 @@ TEST(RtcpReceiverTest, InjectRrPacket) {
|
||||
OnReceivedRtcpReceiverReport(IsEmpty(), _, now));
|
||||
receiver.IncomingPacket(rr.Build());
|
||||
|
||||
std::vector<RTCPReportBlock> report_blocks;
|
||||
receiver.StatisticsReceived(&report_blocks);
|
||||
EXPECT_TRUE(report_blocks.empty());
|
||||
EXPECT_THAT(receiver.GetLatestReportBlockData(), IsEmpty());
|
||||
}
|
||||
|
||||
TEST(RtcpReceiverTest, InjectRrPacketWithReportBlockNotToUsIgnored) {
|
||||
@ -378,9 +376,7 @@ TEST(RtcpReceiverTest, InjectRrPacketWithReportBlockNotToUsIgnored) {
|
||||
receiver.IncomingPacket(rr.Build());
|
||||
|
||||
EXPECT_EQ(0, receiver.LastReceivedReportBlockMs());
|
||||
std::vector<RTCPReportBlock> received_blocks;
|
||||
receiver.StatisticsReceived(&received_blocks);
|
||||
EXPECT_TRUE(received_blocks.empty());
|
||||
EXPECT_THAT(receiver.GetLatestReportBlockData(), IsEmpty());
|
||||
}
|
||||
|
||||
TEST(RtcpReceiverTest, InjectRrPacketWithOneReportBlock) {
|
||||
@ -402,9 +398,7 @@ TEST(RtcpReceiverTest, InjectRrPacketWithOneReportBlock) {
|
||||
receiver.IncomingPacket(rr.Build());
|
||||
|
||||
EXPECT_EQ(now, receiver.LastReceivedReportBlockMs());
|
||||
std::vector<RTCPReportBlock> received_blocks;
|
||||
receiver.StatisticsReceived(&received_blocks);
|
||||
EXPECT_EQ(1u, received_blocks.size());
|
||||
EXPECT_THAT(receiver.GetLatestReportBlockData(), SizeIs(1));
|
||||
}
|
||||
|
||||
TEST(RtcpReceiverTest, InjectSrPacketWithOneReportBlock) {
|
||||
@ -426,9 +420,7 @@ TEST(RtcpReceiverTest, InjectSrPacketWithOneReportBlock) {
|
||||
receiver.IncomingPacket(sr.Build());
|
||||
|
||||
EXPECT_EQ(now, receiver.LastReceivedReportBlockMs());
|
||||
std::vector<RTCPReportBlock> received_blocks;
|
||||
receiver.StatisticsReceived(&received_blocks);
|
||||
EXPECT_EQ(1u, received_blocks.size());
|
||||
EXPECT_THAT(receiver.GetLatestReportBlockData(), SizeIs(1));
|
||||
}
|
||||
|
||||
TEST(RtcpReceiverTest, InjectRrPacketWithTwoReportBlocks) {
|
||||
@ -462,11 +454,12 @@ TEST(RtcpReceiverTest, InjectRrPacketWithTwoReportBlocks) {
|
||||
receiver.IncomingPacket(rr1.Build());
|
||||
|
||||
EXPECT_EQ(now, receiver.LastReceivedReportBlockMs());
|
||||
std::vector<RTCPReportBlock> received_blocks;
|
||||
receiver.StatisticsReceived(&received_blocks);
|
||||
EXPECT_THAT(received_blocks,
|
||||
UnorderedElementsAre(Field(&RTCPReportBlock::fraction_lost, 0),
|
||||
Field(&RTCPReportBlock::fraction_lost, 10)));
|
||||
EXPECT_THAT(receiver.GetLatestReportBlockData(),
|
||||
UnorderedElementsAre(
|
||||
Property(&ReportBlockData::report_block,
|
||||
Field(&RTCPReportBlock::fraction_lost, 0)),
|
||||
Property(&ReportBlockData::report_block,
|
||||
Field(&RTCPReportBlock::fraction_lost, 10))));
|
||||
|
||||
// Insert next receiver report with same ssrc but new values.
|
||||
rtcp::ReportBlock rb3;
|
||||
@ -495,22 +488,23 @@ TEST(RtcpReceiverTest, InjectRrPacketWithTwoReportBlocks) {
|
||||
OnReceivedRtcpReceiverReport(SizeIs(2), _, now));
|
||||
receiver.IncomingPacket(rr2.Build());
|
||||
|
||||
received_blocks.clear();
|
||||
receiver.StatisticsReceived(&received_blocks);
|
||||
EXPECT_EQ(2u, received_blocks.size());
|
||||
EXPECT_THAT(
|
||||
received_blocks,
|
||||
receiver.GetLatestReportBlockData(),
|
||||
UnorderedElementsAre(
|
||||
AllOf(Field(&RTCPReportBlock::source_ssrc, kReceiverMainSsrc),
|
||||
Field(&RTCPReportBlock::fraction_lost, kFracLost[0]),
|
||||
Field(&RTCPReportBlock::packets_lost, kCumLost[0]),
|
||||
Field(&RTCPReportBlock::extended_highest_sequence_number,
|
||||
kSequenceNumbers[0])),
|
||||
AllOf(Field(&RTCPReportBlock::source_ssrc, kReceiverExtraSsrc),
|
||||
Field(&RTCPReportBlock::fraction_lost, kFracLost[1]),
|
||||
Field(&RTCPReportBlock::packets_lost, kCumLost[1]),
|
||||
Field(&RTCPReportBlock::extended_highest_sequence_number,
|
||||
kSequenceNumbers[1]))));
|
||||
Property(
|
||||
&ReportBlockData::report_block,
|
||||
AllOf(Field(&RTCPReportBlock::source_ssrc, kReceiverMainSsrc),
|
||||
Field(&RTCPReportBlock::fraction_lost, kFracLost[0]),
|
||||
Field(&RTCPReportBlock::packets_lost, kCumLost[0]),
|
||||
Field(&RTCPReportBlock::extended_highest_sequence_number,
|
||||
kSequenceNumbers[0]))),
|
||||
Property(
|
||||
&ReportBlockData::report_block,
|
||||
AllOf(Field(&RTCPReportBlock::source_ssrc, kReceiverExtraSsrc),
|
||||
Field(&RTCPReportBlock::fraction_lost, kFracLost[1]),
|
||||
Field(&RTCPReportBlock::packets_lost, kCumLost[1]),
|
||||
Field(&RTCPReportBlock::extended_highest_sequence_number,
|
||||
kSequenceNumbers[1])))));
|
||||
}
|
||||
|
||||
TEST(RtcpReceiverTest, InjectRrPacketsFromTwoRemoteSsrcs) {
|
||||
@ -540,15 +534,16 @@ TEST(RtcpReceiverTest, InjectRrPacketsFromTwoRemoteSsrcs) {
|
||||
|
||||
EXPECT_EQ(now, receiver.LastReceivedReportBlockMs());
|
||||
|
||||
std::vector<RTCPReportBlock> received_blocks;
|
||||
receiver.StatisticsReceived(&received_blocks);
|
||||
EXPECT_EQ(1u, received_blocks.size());
|
||||
EXPECT_EQ(kSenderSsrc, received_blocks[0].sender_ssrc);
|
||||
EXPECT_EQ(kReceiverMainSsrc, received_blocks[0].source_ssrc);
|
||||
EXPECT_EQ(kFracLost[0], received_blocks[0].fraction_lost);
|
||||
EXPECT_EQ(kCumLost[0], received_blocks[0].packets_lost);
|
||||
EXPECT_EQ(kSequenceNumbers[0],
|
||||
received_blocks[0].extended_highest_sequence_number);
|
||||
EXPECT_THAT(
|
||||
receiver.GetLatestReportBlockData(),
|
||||
ElementsAre(Property(
|
||||
&ReportBlockData::report_block,
|
||||
AllOf(Field(&RTCPReportBlock::source_ssrc, kReceiverMainSsrc),
|
||||
Field(&RTCPReportBlock::sender_ssrc, kSenderSsrc),
|
||||
Field(&RTCPReportBlock::fraction_lost, kFracLost[0]),
|
||||
Field(&RTCPReportBlock::packets_lost, kCumLost[0]),
|
||||
Field(&RTCPReportBlock::extended_highest_sequence_number,
|
||||
kSequenceNumbers[0])))));
|
||||
|
||||
rtcp::ReportBlock rb2;
|
||||
rb2.SetMediaSsrc(kReceiverMainSsrc);
|
||||
@ -564,24 +559,25 @@ TEST(RtcpReceiverTest, InjectRrPacketsFromTwoRemoteSsrcs) {
|
||||
OnReceivedRtcpReceiverReport(SizeIs(1), _, now));
|
||||
receiver.IncomingPacket(rr2.Build());
|
||||
|
||||
received_blocks.clear();
|
||||
receiver.StatisticsReceived(&received_blocks);
|
||||
ASSERT_EQ(2u, received_blocks.size());
|
||||
EXPECT_THAT(
|
||||
received_blocks,
|
||||
receiver.GetLatestReportBlockData(),
|
||||
UnorderedElementsAre(
|
||||
AllOf(Field(&RTCPReportBlock::source_ssrc, kReceiverMainSsrc),
|
||||
Field(&RTCPReportBlock::sender_ssrc, kSenderSsrc),
|
||||
Field(&RTCPReportBlock::fraction_lost, kFracLost[0]),
|
||||
Field(&RTCPReportBlock::packets_lost, kCumLost[0]),
|
||||
Field(&RTCPReportBlock::extended_highest_sequence_number,
|
||||
kSequenceNumbers[0])),
|
||||
AllOf(Field(&RTCPReportBlock::source_ssrc, kReceiverMainSsrc),
|
||||
Field(&RTCPReportBlock::sender_ssrc, kSenderSsrc2),
|
||||
Field(&RTCPReportBlock::fraction_lost, kFracLost[1]),
|
||||
Field(&RTCPReportBlock::packets_lost, kCumLost[1]),
|
||||
Field(&RTCPReportBlock::extended_highest_sequence_number,
|
||||
kSequenceNumbers[1]))));
|
||||
Property(
|
||||
&ReportBlockData::report_block,
|
||||
AllOf(Field(&RTCPReportBlock::source_ssrc, kReceiverMainSsrc),
|
||||
Field(&RTCPReportBlock::sender_ssrc, kSenderSsrc),
|
||||
Field(&RTCPReportBlock::fraction_lost, kFracLost[0]),
|
||||
Field(&RTCPReportBlock::packets_lost, kCumLost[0]),
|
||||
Field(&RTCPReportBlock::extended_highest_sequence_number,
|
||||
kSequenceNumbers[0]))),
|
||||
Property(
|
||||
&ReportBlockData::report_block,
|
||||
AllOf(Field(&RTCPReportBlock::source_ssrc, kReceiverMainSsrc),
|
||||
Field(&RTCPReportBlock::sender_ssrc, kSenderSsrc2),
|
||||
Field(&RTCPReportBlock::fraction_lost, kFracLost[1]),
|
||||
Field(&RTCPReportBlock::packets_lost, kCumLost[1]),
|
||||
Field(&RTCPReportBlock::extended_highest_sequence_number,
|
||||
kSequenceNumbers[1])))));
|
||||
}
|
||||
|
||||
TEST(RtcpReceiverTest, GetRtt) {
|
||||
@ -671,9 +667,7 @@ TEST(RtcpReceiverTest, InjectByePacket_RemovesReportBlocks) {
|
||||
EXPECT_CALL(mocks.bandwidth_observer, OnReceivedRtcpReceiverReport);
|
||||
receiver.IncomingPacket(rr.Build());
|
||||
|
||||
std::vector<RTCPReportBlock> received_blocks;
|
||||
receiver.StatisticsReceived(&received_blocks);
|
||||
EXPECT_EQ(2u, received_blocks.size());
|
||||
EXPECT_THAT(receiver.GetLatestReportBlockData(), SizeIs(2));
|
||||
|
||||
// Verify that BYE removes the report blocks.
|
||||
rtcp::Bye bye;
|
||||
@ -681,18 +675,14 @@ TEST(RtcpReceiverTest, InjectByePacket_RemovesReportBlocks) {
|
||||
|
||||
receiver.IncomingPacket(bye.Build());
|
||||
|
||||
received_blocks.clear();
|
||||
receiver.StatisticsReceived(&received_blocks);
|
||||
EXPECT_TRUE(received_blocks.empty());
|
||||
EXPECT_THAT(receiver.GetLatestReportBlockData(), IsEmpty());
|
||||
|
||||
// Inject packet again.
|
||||
EXPECT_CALL(mocks.rtp_rtcp_impl, OnReceivedRtcpReportBlocks);
|
||||
EXPECT_CALL(mocks.bandwidth_observer, OnReceivedRtcpReceiverReport);
|
||||
receiver.IncomingPacket(rr.Build());
|
||||
|
||||
received_blocks.clear();
|
||||
receiver.StatisticsReceived(&received_blocks);
|
||||
EXPECT_EQ(2u, received_blocks.size());
|
||||
EXPECT_THAT(receiver.GetLatestReportBlockData(), SizeIs(2));
|
||||
}
|
||||
|
||||
TEST(RtcpReceiverTest, InjectByePacketRemovesReferenceTimeInfo) {
|
||||
|
||||
Reference in New Issue
Block a user