diff --git a/api/call/transport.h b/api/call/transport.h index dc3f165767..6c6cbb8941 100644 --- a/api/call/transport.h +++ b/api/call/transport.h @@ -48,6 +48,8 @@ class Transport { // New style functions. Default implementations are to accomodate // subclasses that haven't been converted to new style yet. // TODO(bugs.webrtc.org/14870): Deprecate and remove old functions. +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" virtual bool SendRtp(rtc::ArrayView packet, const PacketOptions& options) { return SendRtp(packet.data(), packet.size(), options); @@ -55,11 +57,17 @@ class Transport { virtual bool SendRtcp(rtc::ArrayView packet) { return SendRtcp(packet.data(), packet.size()); } +#pragma clang diagnostic pop // Old style functions. - virtual bool SendRtp(const uint8_t* packet, - size_t length, - const PacketOptions& options) = 0; - virtual bool SendRtcp(const uint8_t* packet, size_t length) = 0; + [[deprecated("Use ArrayView version")]] virtual bool + SendRtp(const uint8_t* packet, size_t length, const PacketOptions& options) { + return SendRtp(rtc::MakeArrayView(packet, length), options); + } + [[deprecated("Use ArrayView version")]] virtual bool SendRtcp( + const uint8_t* packet, + size_t length) { + return SendRtcp(rtc::MakeArrayView(packet, length)); + } protected: virtual ~Transport() {} diff --git a/call/fake_network_pipe.cc b/call/fake_network_pipe.cc index 8879927a5b..f5f3658022 100644 --- a/call/fake_network_pipe.cc +++ b/call/fake_network_pipe.cc @@ -356,10 +356,12 @@ void FakeNetworkPipe::DeliverNetworkPacket(NetworkPacket* packet) { return; } if (packet->is_rtcp()) { - transport->SendRtcp(packet->data(), packet->data_length()); + transport->SendRtcp( + rtc::MakeArrayView(packet->data(), packet->data_length())); } else { - transport->SendRtp(packet->data(), packet->data_length(), - packet->packet_options()); + transport->SendRtp( + rtc::MakeArrayView(packet->data(), packet->data_length()), + packet->packet_options()); } } else if (receiver_) { int64_t packet_time_us = packet->packet_time_us().value_or(-1); diff --git a/media/engine/webrtc_video_engine_unittest.cc b/media/engine/webrtc_video_engine_unittest.cc index c204326224..be47a5afa4 100644 --- a/media/engine/webrtc_video_engine_unittest.cc +++ b/media/engine/webrtc_video_engine_unittest.cc @@ -5589,8 +5589,7 @@ TEST_F(WebRtcVideoChannelTest, TestSetDscpOptions) { // Packets should also self-identify their dscp in PacketOptions. const uint8_t kData[10] = {0}; - EXPECT_TRUE(ChannelImplAsTransport(send_channel.get()) - ->SendRtcp(kData, sizeof(kData))); + EXPECT_TRUE(ChannelImplAsTransport(send_channel.get())->SendRtcp(kData)); EXPECT_EQ(rtc::DSCP_CS1, network_interface->options().dscp); send_channel->SetInterface(nullptr); diff --git a/media/engine/webrtc_voice_engine_unittest.cc b/media/engine/webrtc_voice_engine_unittest.cc index 5cfc5beb72..aa3d4266b4 100644 --- a/media/engine/webrtc_voice_engine_unittest.cc +++ b/media/engine/webrtc_voice_engine_unittest.cc @@ -3255,9 +3255,7 @@ TEST_P(WebRtcVoiceEngineTestFake, TestSetDscpOptions) { // Packets should also self-identify their dscp in PacketOptions. const uint8_t kData[10] = {0}; - EXPECT_TRUE(SendImplFromPointer(channel.get()) - ->transport() - ->SendRtcp(kData, sizeof(kData))); + EXPECT_TRUE(SendImplFromPointer(channel.get())->transport()->SendRtcp(kData)); EXPECT_EQ(rtc::DSCP_CS1, network_interface.options().dscp); channel->SetInterface(nullptr); diff --git a/modules/rtp_rtcp/source/deprecated/deprecated_rtp_sender_egress.cc b/modules/rtp_rtcp/source/deprecated/deprecated_rtp_sender_egress.cc index 5ef1372355..e2531bb1b1 100644 --- a/modules/rtp_rtcp/source/deprecated/deprecated_rtp_sender_egress.cc +++ b/modules/rtp_rtcp/source/deprecated/deprecated_rtp_sender_egress.cc @@ -416,7 +416,7 @@ bool DEPRECATED_RtpSenderEgress::SendPacketToNetwork( const PacedPacketInfo& pacing_info) { int bytes_sent = -1; if (transport_) { - bytes_sent = transport_->SendRtp(packet.data(), packet.size(), options) + bytes_sent = transport_->SendRtp(packet, options) ? static_cast(packet.size()) : -1; if (event_log_ && bytes_sent > 0) { diff --git a/modules/rtp_rtcp/source/rtcp_sender.cc b/modules/rtp_rtcp/source/rtcp_sender.cc index 9e462882f6..e057005b16 100644 --- a/modules/rtp_rtcp/source/rtcp_sender.cc +++ b/modules/rtp_rtcp/source/rtcp_sender.cc @@ -242,7 +242,7 @@ int32_t RTCPSender::SendLossNotification(const FeedbackState& feedback_state, bool buffering_allowed) { int32_t error_code = -1; auto callback = [&](rtc::ArrayView packet) { - transport_->SendRtcp(packet.data(), packet.size()); + transport_->SendRtcp(packet); error_code = 0; if (event_log_) { event_log_->Log(std::make_unique(packet)); @@ -659,7 +659,7 @@ int32_t RTCPSender::SendRTCP(const FeedbackState& feedback_state, const uint16_t* nack_list) { int32_t error_code = -1; auto callback = [&](rtc::ArrayView packet) { - if (transport_->SendRtcp(packet.data(), packet.size())) { + if (transport_->SendRtcp(packet)) { error_code = 0; if (event_log_) { event_log_->Log(std::make_unique(packet)); @@ -938,7 +938,7 @@ void RTCPSender::SendCombinedRtcpPacket( } RTC_DCHECK_LE(max_packet_size, IP_PACKET_SIZE); auto callback = [&](rtc::ArrayView packet) { - if (transport_->SendRtcp(packet.data(), packet.size())) { + if (transport_->SendRtcp(packet)) { if (event_log_) event_log_->Log(std::make_unique(packet)); } diff --git a/modules/rtp_rtcp/source/rtp_sender_egress.cc b/modules/rtp_rtcp/source/rtp_sender_egress.cc index 2e022cec37..f5509009bb 100644 --- a/modules/rtp_rtcp/source/rtp_sender_egress.cc +++ b/modules/rtp_rtcp/source/rtp_sender_egress.cc @@ -522,7 +522,7 @@ bool RtpSenderEgress::SendPacketToNetwork(const RtpPacketToSend& packet, RTC_DCHECK_RUN_ON(worker_queue_); int bytes_sent = -1; if (transport_) { - bytes_sent = transport_->SendRtp(packet.data(), packet.size(), options) + bytes_sent = transport_->SendRtp(packet, options) ? static_cast(packet.size()) : -1; if (event_log_ && bytes_sent > 0) { diff --git a/video/end_to_end_tests/retransmission_tests.cc b/video/end_to_end_tests/retransmission_tests.cc index 08b1bc85e4..246b3cf523 100644 --- a/video/end_to_end_tests/retransmission_tests.cc +++ b/video/end_to_end_tests/retransmission_tests.cc @@ -166,7 +166,7 @@ TEST_F(RetransmissionEndToEndTest, ReceivesNackAndRetransmitsAudio) { nack.SetPacketIds(nack_list, 1); rtc::Buffer buffer = nack.Build(); - EXPECT_TRUE(receive_transport_->SendRtcp(buffer.data(), buffer.size())); + EXPECT_TRUE(receive_transport_->SendRtcp(buffer)); } return SEND_PACKET; diff --git a/video/end_to_end_tests/rtp_rtcp_tests.cc b/video/end_to_end_tests/rtp_rtcp_tests.cc index fbd8585907..fde2e9ca5c 100644 --- a/video/end_to_end_tests/rtp_rtcp_tests.cc +++ b/video/end_to_end_tests/rtp_rtcp_tests.cc @@ -336,7 +336,7 @@ void RtpRtcpEndToEndTest::TestRtpStatePreservation( rtcp::RapidResyncRequest force_send_sr_back_request; rtc::Buffer packet = force_send_sr_back_request.Build(); static_cast(receive_transport_.get()) - ->SendRtcp(packet.data(), packet.size()); + ->SendRtcp(packet); } CreateFrameGeneratorCapturer(30, 1280, 720); StartVideoSources(); diff --git a/video/transport_adapter.cc b/video/transport_adapter.cc index 5d6ccc8819..8222f7abb2 100644 --- a/video/transport_adapter.cc +++ b/video/transport_adapter.cc @@ -22,20 +22,19 @@ TransportAdapter::TransportAdapter(Transport* transport) TransportAdapter::~TransportAdapter() = default; -bool TransportAdapter::SendRtp(const uint8_t* packet, - size_t length, +bool TransportAdapter::SendRtp(rtc::ArrayView packet, const PacketOptions& options) { if (!enabled_.load()) return false; - return transport_->SendRtp(packet, length, options); + return transport_->SendRtp(packet, options); } -bool TransportAdapter::SendRtcp(const uint8_t* packet, size_t length) { +bool TransportAdapter::SendRtcp(rtc::ArrayView packet) { if (!enabled_.load()) return false; - return transport_->SendRtcp(packet, length); + return transport_->SendRtcp(packet); } void TransportAdapter::Enable() { diff --git a/video/transport_adapter.h b/video/transport_adapter.h index 95dd308601..a1b6995ee5 100644 --- a/video/transport_adapter.h +++ b/video/transport_adapter.h @@ -25,10 +25,9 @@ class TransportAdapter : public Transport { explicit TransportAdapter(Transport* transport); ~TransportAdapter() override; - bool SendRtp(const uint8_t* packet, - size_t length, + bool SendRtp(rtc::ArrayView packet, const PacketOptions& options) override; - bool SendRtcp(const uint8_t* packet, size_t length) override; + bool SendRtcp(rtc::ArrayView packet) override; void Enable(); void Disable();