diff --git a/modules/rtp_rtcp/include/rtp_rtcp.h b/modules/rtp_rtcp/include/rtp_rtcp.h index 497c67e15c..185f9e8d0f 100644 --- a/modules/rtp_rtcp/include/rtp_rtcp.h +++ b/modules/rtp_rtcp/include/rtp_rtcp.h @@ -200,7 +200,7 @@ class RtpRtcp : public Module, public RtcpFeedbackSenderInterface { virtual RtpState GetRtxState() const = 0; // Returns SSRC. - uint32_t SSRC() const override = 0; + virtual uint32_t SSRC() const = 0; // Sets the value for sending in the RID (and Repaired) RTP header extension. // RIDs are used to identify an RTP stream if SSRCs are not negotiated. @@ -415,9 +415,6 @@ class RtpRtcp : public Module, public RtcpFeedbackSenderInterface { // construction, remove this setter. virtual void SetReportBlockDataObserver( ReportBlockDataObserver* observer) = 0; - // BWE feedback packets. - bool SendFeedbackPacket(const rtcp::TransportFeedback& packet) override = 0; - virtual void SetVideoBitrateAllocation( const VideoBitrateAllocation& bitrate) = 0; diff --git a/modules/rtp_rtcp/include/rtp_rtcp_defines.h b/modules/rtp_rtcp/include/rtp_rtcp_defines.h index 0b9284bf86..db6f53ca71 100644 --- a/modules/rtp_rtcp/include/rtp_rtcp_defines.h +++ b/modules/rtp_rtcp/include/rtp_rtcp_defines.h @@ -314,10 +314,6 @@ class TransportFeedbackObserver { class RtcpFeedbackSenderInterface { public: virtual ~RtcpFeedbackSenderInterface() = default; - virtual uint32_t SSRC() const = 0; - virtual bool SendFeedbackPacket(const rtcp::TransportFeedback& feedback) = 0; - virtual bool SendNetworkStateEstimatePacket( - const rtcp::RemoteEstimate& packet) = 0; virtual void SendCombinedRtcpPacket( std::vector> rtcp_packets) = 0; virtual void SetRemb(int64_t bitrate_bps, std::vector ssrcs) = 0; diff --git a/modules/rtp_rtcp/source/rtcp_sender.cc b/modules/rtp_rtcp/source/rtcp_sender.cc index fba9b45ac5..0f119ef235 100644 --- a/modules/rtp_rtcp/source/rtcp_sender.cc +++ b/modules/rtp_rtcp/source/rtcp_sender.cc @@ -992,46 +992,6 @@ absl::optional RTCPSender::CheckAndUpdateLayerStructure( return updated_bitrate; } -bool RTCPSender::SendFeedbackPacket(const rtcp::TransportFeedback& packet) { - size_t max_packet_size; - { - rtc::CritScope lock(&critical_section_rtcp_sender_); - if (method_ == RtcpMode::kOff) - return false; - max_packet_size = max_packet_size_; - } - - RTC_DCHECK_LE(max_packet_size, IP_PACKET_SIZE); - bool send_failure = false; - auto callback = [&](rtc::ArrayView packet) { - if (transport_->SendRtcp(packet.data(), packet.size())) { - if (event_log_) - event_log_->Log(std::make_unique(packet)); - } else { - send_failure = true; - } - }; - return packet.Build(max_packet_size, callback) && !send_failure; -} - -bool RTCPSender::SendNetworkStateEstimatePacket( - const rtcp::RemoteEstimate& packet) { - size_t max_packet_size; - { - rtc::CritScope lock(&critical_section_rtcp_sender_); - if (method_ == RtcpMode::kOff) - return false; - max_packet_size = max_packet_size_; - } - - RTC_DCHECK_LE(max_packet_size, IP_PACKET_SIZE); - bool send_success = false; - auto callback = [&](rtc::ArrayView packet) { - send_success = transport_->SendRtcp(packet.data(), packet.size()); - }; - return packet.Build(max_packet_size, callback) && send_success; -} - void RTCPSender::SendCombinedRtcpPacket( std::vector> rtcp_packets) { size_t max_packet_size; diff --git a/modules/rtp_rtcp/source/rtcp_sender.h b/modules/rtp_rtcp/source/rtcp_sender.h index 97b4b70919..32c1e1dbc1 100644 --- a/modules/rtp_rtcp/source/rtcp_sender.h +++ b/modules/rtp_rtcp/source/rtcp_sender.h @@ -138,8 +138,6 @@ class RTCPSender { void SetTargetBitrate(unsigned int target_bitrate); void SetVideoBitrateAllocation(const VideoBitrateAllocation& bitrate); - bool SendFeedbackPacket(const rtcp::TransportFeedback& packet); - bool SendNetworkStateEstimatePacket(const rtcp::RemoteEstimate& packet); void SendCombinedRtcpPacket( std::vector> rtcp_packets); diff --git a/modules/rtp_rtcp/source/rtcp_transceiver.cc b/modules/rtp_rtcp/source/rtcp_transceiver.cc index 46e222cdb6..7b1790de7b 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver.cc @@ -106,32 +106,6 @@ void RtcpTransceiver::UnsetRemb() { task_queue_->PostTask([ptr] { ptr->UnsetRemb(); }); } -uint32_t RtcpTransceiver::SSRC() const { - return rtcp_transceiver_->sender_ssrc(); -} - -bool RtcpTransceiver::SendFeedbackPacket( - const rtcp::TransportFeedback& packet) { - RTC_CHECK(rtcp_transceiver_); - RtcpTransceiverImpl* ptr = rtcp_transceiver_.get(); - rtc::Buffer raw_packet = packet.Build(); - task_queue_->PostTask([ptr, raw_packet = std::move(raw_packet)] { - ptr->SendRawPacket(raw_packet); - }); - return true; -} - -bool RtcpTransceiver::SendNetworkStateEstimatePacket( - const rtcp::RemoteEstimate& packet) { - RTC_CHECK(rtcp_transceiver_); - RtcpTransceiverImpl* ptr = rtcp_transceiver_.get(); - rtc::Buffer raw_packet = packet.Build(); - task_queue_->PostTask([ptr, raw_packet = std::move(raw_packet)] { - ptr->SendRawPacket(raw_packet); - }); - return true; -} - void RtcpTransceiver::SendCombinedRtcpPacket( std::vector> rtcp_packets) { RTC_CHECK(rtcp_transceiver_); diff --git a/modules/rtp_rtcp/source/rtcp_transceiver.h b/modules/rtp_rtcp/source/rtcp_transceiver.h index 5468e2521e..df66b4cf8e 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver.h +++ b/modules/rtp_rtcp/source/rtcp_transceiver.h @@ -72,16 +72,6 @@ class RtcpTransceiver : public RtcpFeedbackSenderInterface { // Stops sending REMB in following compound packets. void UnsetRemb() override; - // TODO(bugs.webrtc.org/8239): Remove SendFeedbackPacket and SSRC functions - // and move generating of the TransportFeedback message inside - // RtcpTransceiverImpl when there is one RtcpTransceiver per rtp transport. - - // Returns ssrc to put as sender ssrc into rtcp::TransportFeedback. - uint32_t SSRC() const override; - bool SendFeedbackPacket(const rtcp::TransportFeedback& packet) override; - bool SendNetworkStateEstimatePacket( - const rtcp::RemoteEstimate& packet) override; - // TODO(bugs.webrtc.org/8239): Remove SendCombinedRtcpPacket // and move generating of the TransportFeedback message inside // RtcpTransceiverImpl when there is one RtcpTransceiver per rtp transport. diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc b/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc index 568d348035..3bd534ca9b 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc @@ -257,38 +257,6 @@ TEST(RtcpTransceiverTest, DoesntSendPacketsAfterStopCallback) { EXPECT_TRUE(done.Wait(kTimeoutMs)); } -TEST(RtcpTransceiverTest, SendsTransportFeedbackOnTaskQueue) { - static constexpr uint32_t kSenderSsrc = 12345; - MockTransport outgoing_transport; - TaskQueueForTest queue("rtcp"); - RtcpTransceiverConfig config; - config.feedback_ssrc = kSenderSsrc; - config.outgoing_transport = &outgoing_transport; - config.task_queue = &queue; - config.schedule_periodic_compound_packets = false; - RtcpTransceiver rtcp_transceiver(config); - - EXPECT_CALL(outgoing_transport, SendRtcp(_, _)) - .WillOnce(Invoke([&](const uint8_t* buffer, size_t size) { - EXPECT_TRUE(queue.IsCurrent()); - - std::unique_ptr transport_feedback = - TransportFeedback::ParseFrom(buffer, size); - EXPECT_TRUE(transport_feedback); - EXPECT_EQ(transport_feedback->sender_ssrc(), kSenderSsrc); - return true; - })); - - // Create minimalistic transport feedback packet. - TransportFeedback transport_feedback; - transport_feedback.SetSenderSsrc(rtcp_transceiver.SSRC()); - transport_feedback.AddReceivedPacket(321, 10000); - - EXPECT_TRUE(rtcp_transceiver.SendFeedbackPacket(transport_feedback)); - - WaitPostedTasks(&queue); -} - TEST(RtcpTransceiverTest, SendsCombinedRtcpPacketOnTaskQueue) { static constexpr uint32_t kSenderSsrc = 12345; diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc index fd81fb48f9..ed140eeb04 100644 --- a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc +++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc @@ -631,16 +631,6 @@ void ModuleRtpRtcpImpl::SetReportBlockDataObserver( return rtcp_receiver_.SetReportBlockDataObserver(observer); } -bool ModuleRtpRtcpImpl::SendFeedbackPacket( - const rtcp::TransportFeedback& packet) { - return rtcp_sender_.SendFeedbackPacket(packet); -} - -bool ModuleRtpRtcpImpl::SendNetworkStateEstimatePacket( - const rtcp::RemoteEstimate& packet) { - return rtcp_sender_.SendNetworkStateEstimatePacket(packet); -} - void ModuleRtpRtcpImpl::SendCombinedRtcpPacket( std::vector> rtcp_packets) { rtcp_sender_.SendCombinedRtcpPacket(std::move(rtcp_packets)); diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.h b/modules/rtp_rtcp/source/rtp_rtcp_impl.h index a3aa4a8776..e91f70404d 100644 --- a/modules/rtp_rtcp/source/rtp_rtcp_impl.h +++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.h @@ -229,9 +229,6 @@ class ModuleRtpRtcpImpl : public RtpRtcp, public RTCPReceiver::ModuleRtpRtcp { void SetReportBlockDataObserver(ReportBlockDataObserver* observer) override; - bool SendFeedbackPacket(const rtcp::TransportFeedback& packet) override; - bool SendNetworkStateEstimatePacket( - const rtcp::RemoteEstimate& packet) override; void SendCombinedRtcpPacket( std::vector> rtcp_packets) override;