Use ArrayView in the IncomingRtcpPacket function.
The lowest level and some of the highest levels of this function are
already using ArrayView. Make this consistent throughout.
Use deprecation for the old API rather than deleting it, since upstream
may be using it.
Bug: webrtc:14870
Change-Id: If5e1a6e9802ecf7e8e3ec27befb5167ca9985517
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291706
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39241}
diff --git a/modules/rtp_rtcp/source/nack_rtx_unittest.cc b/modules/rtp_rtcp/source/nack_rtx_unittest.cc
index 87c6e66..869e1cc 100644
--- a/modules/rtp_rtcp/source/nack_rtx_unittest.cc
+++ b/modules/rtp_rtcp/source/nack_rtx_unittest.cc
@@ -103,7 +103,7 @@
}
bool SendRtcp(const uint8_t* data, size_t len) override {
- module_->IncomingRtcpPacket((const uint8_t*)data, len);
+ module_->IncomingRtcpPacket(rtc::MakeArrayView((const uint8_t*)data, len));
return true;
}
int count_;
diff --git a/modules/rtp_rtcp/source/rtcp_receiver.h b/modules/rtp_rtcp/source/rtcp_receiver.h
index cdf4cba..696e0fb 100644
--- a/modules/rtp_rtcp/source/rtcp_receiver.h
+++ b/modules/rtp_rtcp/source/rtcp_receiver.h
@@ -98,7 +98,9 @@
~RTCPReceiver();
- void IncomingPacket(const uint8_t* packet, size_t packet_size) {
+ [[deprecated("Use ArrayView verwsion")]] void IncomingPacket(
+ const uint8_t* packet,
+ size_t packet_size) {
IncomingPacket(rtc::MakeArrayView(packet, packet_size));
}
void IncomingPacket(rtc::ArrayView<const uint8_t> packet);
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.h b/modules/rtp_rtcp/source/rtp_rtcp_impl.h
index f164195..38a9bf0 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl.h
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.h
@@ -62,6 +62,9 @@
// Called when we receive an RTCP packet.
void IncomingRtcpPacket(const uint8_t* incoming_packet,
size_t incoming_packet_length) override;
+ void IncomingRtcpPacket(rtc::ArrayView<const uint8_t> packet) override {
+ IncomingRtcpPacket(packet.data(), packet.size());
+ }
void SetRemoteSSRC(uint32_t ssrc) override;
void SetLocalSsrc(uint32_t ssrc) override;
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
index 31dd149..565e1ea 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
@@ -143,10 +143,10 @@
return absl::nullopt;
}
-void ModuleRtpRtcpImpl2::IncomingRtcpPacket(const uint8_t* rtcp_packet,
- const size_t length) {
+void ModuleRtpRtcpImpl2::IncomingRtcpPacket(
+ rtc::ArrayView<const uint8_t> rtcp_packet) {
RTC_DCHECK_RUN_ON(&rtcp_thread_checker_);
- rtcp_receiver_.IncomingPacket(rtcp_packet, length);
+ rtcp_receiver_.IncomingPacket(rtcp_packet);
}
void ModuleRtpRtcpImpl2::RegisterSendPayloadFrequency(int payload_type,
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
index e7a3ac0..b6071d9 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
@@ -66,8 +66,14 @@
// Receiver part.
// Called when we receive an RTCP packet.
- void IncomingRtcpPacket(const uint8_t* incoming_packet,
- size_t incoming_packet_length) override;
+ [[deprecated("Use ArrayView version")]] void IncomingRtcpPacket(
+ const uint8_t* incoming_packet,
+ size_t incoming_packet_length) override {
+ IncomingRtcpPacket(
+ rtc::MakeArrayView(incoming_packet, incoming_packet_length));
+ }
+ void IncomingRtcpPacket(
+ rtc::ArrayView<const uint8_t> incoming_packet) override;
void SetRemoteSSRC(uint32_t ssrc) override;
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2_unittest.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl2_unittest.cc
index b793ba8..ceddc5f 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2_unittest.cc
@@ -130,7 +130,7 @@
Packet packet = std::move(rtcp_packets_.front());
rtcp_packets_.pop_front();
EXPECT_TRUE(receiver_);
- receiver_->IncomingRtcpPacket(packet.data.data(), packet.data.size());
+ receiver_->IncomingRtcpPacket(packet.data);
}
}
TaskQueueBase* GetAsTaskQueue() override {
@@ -372,7 +372,7 @@
nack.SetMediaSsrc(sender ? kSenderSsrc : kReceiverSsrc);
nack.SetPacketIds(list, kListLength);
rtc::Buffer packet = nack.Build();
- module->impl_->IncomingRtcpPacket(packet.data(), packet.size());
+ module->impl_->IncomingRtcpPacket(packet);
}
};
@@ -798,7 +798,7 @@
sr.SetPacketCount(123u);
sr.SetOctetCount(456u);
auto raw_packet = sr.Build();
- receiver_.impl_->IncomingRtcpPacket(raw_packet.data(), raw_packet.size());
+ receiver_.impl_->IncomingRtcpPacket(raw_packet);
EXPECT_THAT(receiver_.impl_->GetSenderReportStats(), Eq(absl::nullopt));
}
@@ -816,7 +816,7 @@
sr.SetPacketCount(kPacketCount);
sr.SetOctetCount(kOctetCount);
auto raw_packet = sr.Build();
- receiver_.impl_->IncomingRtcpPacket(raw_packet.data(), raw_packet.size());
+ receiver_.impl_->IncomingRtcpPacket(raw_packet);
EXPECT_THAT(
receiver_.impl_->GetSenderReportStats(),
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_interface.h b/modules/rtp_rtcp/source/rtp_rtcp_interface.h
index 2024b30..4bcae06 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_interface.h
+++ b/modules/rtp_rtcp/source/rtp_rtcp_interface.h
@@ -186,8 +186,11 @@
// Receiver functions
// **************************************************************************
- virtual void IncomingRtcpPacket(const uint8_t* incoming_packet,
- size_t incoming_packet_length) = 0;
+ [[deprecated("Use ArrayView version")]] virtual void IncomingRtcpPacket(
+ const uint8_t* incoming_packet,
+ size_t incoming_packet_length) = 0;
+ virtual void IncomingRtcpPacket(
+ rtc::ArrayView<const uint8_t> incoming_packet) = 0;
virtual void SetRemoteSSRC(uint32_t ssrc) = 0;