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}
This commit is contained in:
parent
16a8792e0a
commit
1f206b841e
@ -739,7 +739,7 @@ void ChannelReceive::ReceivedRTCPPacket(const uint8_t* data, size_t length) {
|
|||||||
UpdatePlayoutTimestamp(true, rtc::TimeMillis());
|
UpdatePlayoutTimestamp(true, rtc::TimeMillis());
|
||||||
|
|
||||||
// Deliver RTCP packet to RTP/RTCP module for parsing
|
// Deliver RTCP packet to RTP/RTCP module for parsing
|
||||||
rtp_rtcp_->IncomingRtcpPacket(data, length);
|
rtp_rtcp_->IncomingRtcpPacket(rtc::MakeArrayView(data, length));
|
||||||
|
|
||||||
int64_t rtt = 0;
|
int64_t rtt = 0;
|
||||||
rtp_rtcp_->RTT(remote_ssrc_, &rtt, /*avg_rtt=*/nullptr, /*min_rtt=*/nullptr,
|
rtp_rtcp_->RTT(remote_ssrc_, &rtt, /*avg_rtt=*/nullptr, /*min_rtt=*/nullptr,
|
||||||
|
|||||||
@ -628,7 +628,7 @@ void ChannelSend::ReceivedRTCPPacket(const uint8_t* data, size_t length) {
|
|||||||
RTC_DCHECK_RUN_ON(&worker_thread_checker_);
|
RTC_DCHECK_RUN_ON(&worker_thread_checker_);
|
||||||
|
|
||||||
// Deliver RTCP packet to RTP/RTCP module for parsing
|
// Deliver RTCP packet to RTP/RTCP module for parsing
|
||||||
rtp_rtcp_->IncomingRtcpPacket(data, length);
|
rtp_rtcp_->IncomingRtcpPacket(rtc::MakeArrayView(data, length));
|
||||||
|
|
||||||
int64_t rtt = GetRTT();
|
int64_t rtt = GetRTT();
|
||||||
if (rtt == 0) {
|
if (rtt == 0) {
|
||||||
|
|||||||
@ -210,7 +210,7 @@ void AudioIngress::ReceivedRTCPPacket(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Deliver RTCP packet to RTP/RTCP module for parsing and processing.
|
// Deliver RTCP packet to RTP/RTCP module for parsing and processing.
|
||||||
rtp_rtcp_->IncomingRtcpPacket(rtcp_packet.data(), rtcp_packet.size());
|
rtp_rtcp_->IncomingRtcpPacket(rtcp_packet);
|
||||||
|
|
||||||
int64_t rtt = 0;
|
int64_t rtt = 0;
|
||||||
if (rtp_rtcp_->RTT(remote_ssrc_, &rtt, nullptr, nullptr, nullptr) != 0) {
|
if (rtp_rtcp_->RTT(remote_ssrc_, &rtt, nullptr, nullptr, nullptr) != 0) {
|
||||||
|
|||||||
@ -715,7 +715,7 @@ uint32_t RtpVideoSender::GetPacketizationOverheadRate() const {
|
|||||||
void RtpVideoSender::DeliverRtcp(const uint8_t* packet, size_t length) {
|
void RtpVideoSender::DeliverRtcp(const uint8_t* packet, size_t length) {
|
||||||
// Runs on a network thread.
|
// Runs on a network thread.
|
||||||
for (const RtpStreamSender& stream : rtp_streams_)
|
for (const RtpStreamSender& stream : rtp_streams_)
|
||||||
stream.rtp_rtcp->IncomingRtcpPacket(packet, length);
|
stream.rtp_rtcp->IncomingRtcpPacket(rtc::MakeArrayView(packet, length));
|
||||||
}
|
}
|
||||||
|
|
||||||
void RtpVideoSender::ConfigureSsrcs(
|
void RtpVideoSender::ConfigureSsrcs(
|
||||||
|
|||||||
@ -33,6 +33,10 @@ class MockRtpRtcpInterface : public RtpRtcpInterface {
|
|||||||
IncomingRtcpPacket,
|
IncomingRtcpPacket,
|
||||||
(const uint8_t* incoming_packet, size_t packet_length),
|
(const uint8_t* incoming_packet, size_t packet_length),
|
||||||
(override));
|
(override));
|
||||||
|
MOCK_METHOD(void,
|
||||||
|
IncomingRtcpPacket,
|
||||||
|
(rtc::ArrayView<const uint8_t> packet),
|
||||||
|
(override));
|
||||||
MOCK_METHOD(void, SetRemoteSSRC, (uint32_t ssrc), (override));
|
MOCK_METHOD(void, SetRemoteSSRC, (uint32_t ssrc), (override));
|
||||||
MOCK_METHOD(void, SetLocalSsrc, (uint32_t ssrc), (override));
|
MOCK_METHOD(void, SetLocalSsrc, (uint32_t ssrc), (override));
|
||||||
MOCK_METHOD(void, SetMaxRtpPacketSize, (size_t size), (override));
|
MOCK_METHOD(void, SetMaxRtpPacketSize, (size_t size), (override));
|
||||||
|
|||||||
@ -103,7 +103,7 @@ class RtxLoopBackTransport : public webrtc::Transport {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool SendRtcp(const uint8_t* data, size_t len) override {
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
int count_;
|
int count_;
|
||||||
|
|||||||
@ -98,7 +98,9 @@ class RTCPReceiver final {
|
|||||||
|
|
||||||
~RTCPReceiver();
|
~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));
|
IncomingPacket(rtc::MakeArrayView(packet, packet_size));
|
||||||
}
|
}
|
||||||
void IncomingPacket(rtc::ArrayView<const uint8_t> packet);
|
void IncomingPacket(rtc::ArrayView<const uint8_t> packet);
|
||||||
|
|||||||
@ -62,6 +62,9 @@ class ABSL_DEPRECATED("") ModuleRtpRtcpImpl
|
|||||||
// Called when we receive an RTCP packet.
|
// Called when we receive an RTCP packet.
|
||||||
void IncomingRtcpPacket(const uint8_t* incoming_packet,
|
void IncomingRtcpPacket(const uint8_t* incoming_packet,
|
||||||
size_t incoming_packet_length) override;
|
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 SetRemoteSSRC(uint32_t ssrc) override;
|
||||||
void SetLocalSsrc(uint32_t ssrc) override;
|
void SetLocalSsrc(uint32_t ssrc) override;
|
||||||
|
|||||||
@ -143,10 +143,10 @@ absl::optional<uint32_t> ModuleRtpRtcpImpl2::FlexfecSsrc() const {
|
|||||||
return absl::nullopt;
|
return absl::nullopt;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModuleRtpRtcpImpl2::IncomingRtcpPacket(const uint8_t* rtcp_packet,
|
void ModuleRtpRtcpImpl2::IncomingRtcpPacket(
|
||||||
const size_t length) {
|
rtc::ArrayView<const uint8_t> rtcp_packet) {
|
||||||
RTC_DCHECK_RUN_ON(&rtcp_thread_checker_);
|
RTC_DCHECK_RUN_ON(&rtcp_thread_checker_);
|
||||||
rtcp_receiver_.IncomingPacket(rtcp_packet, length);
|
rtcp_receiver_.IncomingPacket(rtcp_packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModuleRtpRtcpImpl2::RegisterSendPayloadFrequency(int payload_type,
|
void ModuleRtpRtcpImpl2::RegisterSendPayloadFrequency(int payload_type,
|
||||||
|
|||||||
@ -66,8 +66,14 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
|
|||||||
// Receiver part.
|
// Receiver part.
|
||||||
|
|
||||||
// Called when we receive an RTCP packet.
|
// Called when we receive an RTCP packet.
|
||||||
void IncomingRtcpPacket(const uint8_t* incoming_packet,
|
[[deprecated("Use ArrayView version")]] void IncomingRtcpPacket(
|
||||||
size_t incoming_packet_length) override;
|
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;
|
void SetRemoteSSRC(uint32_t ssrc) override;
|
||||||
|
|
||||||
|
|||||||
@ -130,7 +130,7 @@ class SendTransport : public Transport,
|
|||||||
Packet packet = std::move(rtcp_packets_.front());
|
Packet packet = std::move(rtcp_packets_.front());
|
||||||
rtcp_packets_.pop_front();
|
rtcp_packets_.pop_front();
|
||||||
EXPECT_TRUE(receiver_);
|
EXPECT_TRUE(receiver_);
|
||||||
receiver_->IncomingRtcpPacket(packet.data.data(), packet.data.size());
|
receiver_->IncomingRtcpPacket(packet.data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TaskQueueBase* GetAsTaskQueue() override {
|
TaskQueueBase* GetAsTaskQueue() override {
|
||||||
@ -372,7 +372,7 @@ class RtpRtcpImpl2Test : public ::testing::Test {
|
|||||||
nack.SetMediaSsrc(sender ? kSenderSsrc : kReceiverSsrc);
|
nack.SetMediaSsrc(sender ? kSenderSsrc : kReceiverSsrc);
|
||||||
nack.SetPacketIds(list, kListLength);
|
nack.SetPacketIds(list, kListLength);
|
||||||
rtc::Buffer packet = nack.Build();
|
rtc::Buffer packet = nack.Build();
|
||||||
module->impl_->IncomingRtcpPacket(packet.data(), packet.size());
|
module->impl_->IncomingRtcpPacket(packet);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -798,7 +798,7 @@ TEST_F(RtpRtcpImpl2Test, SenderReportStatsNotUpdatedWithUnexpectedSsrc) {
|
|||||||
sr.SetPacketCount(123u);
|
sr.SetPacketCount(123u);
|
||||||
sr.SetOctetCount(456u);
|
sr.SetOctetCount(456u);
|
||||||
auto raw_packet = sr.Build();
|
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));
|
EXPECT_THAT(receiver_.impl_->GetSenderReportStats(), Eq(absl::nullopt));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -816,7 +816,7 @@ TEST_F(RtpRtcpImpl2Test, SenderReportStatsCheckStatsFromLastReport) {
|
|||||||
sr.SetPacketCount(kPacketCount);
|
sr.SetPacketCount(kPacketCount);
|
||||||
sr.SetOctetCount(kOctetCount);
|
sr.SetOctetCount(kOctetCount);
|
||||||
auto raw_packet = sr.Build();
|
auto raw_packet = sr.Build();
|
||||||
receiver_.impl_->IncomingRtcpPacket(raw_packet.data(), raw_packet.size());
|
receiver_.impl_->IncomingRtcpPacket(raw_packet);
|
||||||
|
|
||||||
EXPECT_THAT(
|
EXPECT_THAT(
|
||||||
receiver_.impl_->GetSenderReportStats(),
|
receiver_.impl_->GetSenderReportStats(),
|
||||||
|
|||||||
@ -186,8 +186,11 @@ class RtpRtcpInterface : public RtcpFeedbackSenderInterface {
|
|||||||
// Receiver functions
|
// Receiver functions
|
||||||
// **************************************************************************
|
// **************************************************************************
|
||||||
|
|
||||||
virtual void IncomingRtcpPacket(const uint8_t* incoming_packet,
|
[[deprecated("Use ArrayView version")]] virtual void IncomingRtcpPacket(
|
||||||
size_t incoming_packet_length) = 0;
|
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;
|
virtual void SetRemoteSSRC(uint32_t ssrc) = 0;
|
||||||
|
|
||||||
|
|||||||
@ -47,6 +47,6 @@ void FuzzOneInput(const uint8_t* data, size_t size) {
|
|||||||
|
|
||||||
RTCPReceiver receiver(config, &rtp_rtcp_module);
|
RTCPReceiver receiver(config, &rtp_rtcp_module);
|
||||||
|
|
||||||
receiver.IncomingPacket(data, size);
|
receiver.IncomingPacket(rtc::MakeArrayView(data, size));
|
||||||
}
|
}
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -1131,7 +1131,8 @@ bool RtpVideoStreamReceiver2::DeliverRtcp(const uint8_t* rtcp_packet,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
rtp_rtcp_->IncomingRtcpPacket(rtcp_packet, rtcp_packet_length);
|
rtp_rtcp_->IncomingRtcpPacket(
|
||||||
|
rtc::MakeArrayView(rtcp_packet, rtcp_packet_length));
|
||||||
|
|
||||||
int64_t rtt = 0;
|
int64_t rtt = 0;
|
||||||
rtp_rtcp_->RTT(config_.rtp.remote_ssrc, &rtt, nullptr, nullptr, nullptr);
|
rtp_rtcp_->RTT(config_.rtp.remote_ssrc, &rtt, nullptr, nullptr, nullptr);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user