From 48420fa947cea4c618d51dc5f87908765a3a69db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Terelius?= Date: Mon, 14 Jun 2021 17:28:50 +0000 Subject: [PATCH] Revert "Avoid sending empty receiver reports with RtcpTransceiver" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit e5f1a3992e3bbfa0445b90f317576c8229524d74. Reason for revert: Speculative revert due to failing downstream unittest. Original change's description: > Avoid sending empty receiver reports with RtcpTransceiver > > Bug: None > Change-Id: Ia017c2df285febefb72ba88ba43366455bde5a78 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222402 > Reviewed-by: Per Kjellander > Commit-Queue: Danil Chapovalov > Cr-Commit-Position: refs/heads/master@{#34281} TBR=danilchap@webrtc.org,perkj@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com Change-Id: I895317ad0381756e97e501a36d6440f83a68b6f8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: None Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222440 Reviewed-by: Björn Terelius Commit-Queue: Björn Terelius Cr-Commit-Position: refs/heads/master@{#34284} --- .../rtp_rtcp/source/rtcp_transceiver_impl.cc | 7 +--- .../source/rtcp_transceiver_impl_unittest.cc | 42 ------------------- 2 files changed, 2 insertions(+), 47 deletions(-) diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc b/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc index db065e2cd0..df67c07327 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc @@ -355,12 +355,9 @@ void RtcpTransceiverImpl::CreateCompoundPacket(PacketSender* sender) { rtcp::ReceiverReport receiver_report; receiver_report.SetSenderSsrc(sender_ssrc); receiver_report.SetReportBlocks(CreateReportBlocks(now)); - if (config_.rtcp_mode == RtcpMode::kCompound || - !receiver_report.report_blocks().empty()) { - sender->AppendPacket(receiver_report); - } + sender->AppendPacket(receiver_report); - if (!config_.cname.empty() && !sender->IsEmpty()) { + if (!config_.cname.empty()) { rtcp::Sdes sdes; bool added = sdes.AddCName(config_.feedback_ssrc, config_.cname); RTC_DCHECK(added) << "Failed to add cname " << config_.cname diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc b/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc index 71b457b122..6af34a9428 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc @@ -38,7 +38,6 @@ namespace { using ::testing::_; using ::testing::ElementsAre; -using ::testing::NiceMock; using ::testing::Return; using ::testing::SizeIs; using ::testing::StrictMock; @@ -393,47 +392,6 @@ TEST(RtcpTransceiverImplTest, SendsMinimalCompoundPacket) { EXPECT_EQ(rtcp_parser.sdes()->chunks()[0].cname, config.cname); } -TEST(RtcpTransceiverImplTest, AvoidsEmptyPacketsInReducedMode) { - MockTransport transport; - EXPECT_CALL(transport, SendRtcp).Times(0); - NiceMock receive_statistics; - SimulatedClock clock(0); - - RtcpTransceiverConfig config = DefaultTestConfig(); - config.clock = &clock; - config.outgoing_transport = &transport; - config.rtcp_mode = webrtc::RtcpMode::kReducedSize; - config.schedule_periodic_compound_packets = false; - config.receive_statistics = &receive_statistics; - RtcpTransceiverImpl rtcp_transceiver(config); - - rtcp_transceiver.SendCompoundPacket(); -} - -TEST(RtcpTransceiverImplTest, AvoidsEmptyReceiverReportsInReducedMode) { - RtcpPacketParser rtcp_parser; - RtcpParserTransport transport(&rtcp_parser); - NiceMock receive_statistics; - SimulatedClock clock(0); - - RtcpTransceiverConfig config = DefaultTestConfig(); - config.clock = &clock; - config.outgoing_transport = &transport; - config.rtcp_mode = webrtc::RtcpMode::kReducedSize; - config.schedule_periodic_compound_packets = false; - config.receive_statistics = &receive_statistics; - // Set it to produce something (RRTR) in the "periodic" rtcp packets. - config.non_sender_rtt_measurement = true; - RtcpTransceiverImpl rtcp_transceiver(config); - - // Rather than waiting for the right time to produce the periodic packet, - // trigger it manually. - rtcp_transceiver.SendCompoundPacket(); - - EXPECT_EQ(rtcp_parser.receiver_report()->num_packets(), 0); - EXPECT_GT(rtcp_parser.xr()->num_packets(), 0); -} - TEST(RtcpTransceiverImplTest, SendsNoRembInitially) { const uint32_t kSenderSsrc = 12345; SimulatedClock clock(0);