Adopt absl::string_view in modules/rtp_rtcp

Bug: webrtc:13579
Change-Id: Ic4e1431bedc69492358cb2e3749b50a941306f44
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262250
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36887}
This commit is contained in:
Ali Tofigh
2022-05-13 11:42:16 +02:00
committed by WebRTC LUCI CQ
parent 76d84f122e
commit d14e8894fc
20 changed files with 64 additions and 48 deletions

View File

@ -467,7 +467,10 @@ rtc_library("mock_rtp_rtcp") {
"../../rtc_base:checks",
"../../test:test_support",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
absl_deps = [
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("rtp_packetizer_av1_test_helper") {
@ -659,6 +662,7 @@ if (rtc_include_tests) {
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/base:core_headers",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}

View File

@ -15,6 +15,7 @@
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "api/array_view.h"
#include "api/rtp_parameters.h"
#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
@ -39,7 +40,7 @@ class FlexfecSender : public VideoFecGenerator {
FlexfecSender(int payload_type,
uint32_t ssrc,
uint32_t protected_media_ssrc,
const std::string& mid,
absl::string_view mid,
const std::vector<RtpExtension>& rtp_header_extensions,
rtc::ArrayView<const RtpExtensionSize> extension_sizes,
const RtpState* rtp_state,

View File

@ -17,6 +17,7 @@
#include <utility>
#include <vector>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/video/video_bitrate_allocation.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
@ -65,8 +66,8 @@ class MockRtpRtcpInterface : public RtpRtcpInterface {
MOCK_METHOD(RtpState, GetRtpState, (), (const, override));
MOCK_METHOD(RtpState, GetRtxState, (), (const, override));
MOCK_METHOD(uint32_t, SSRC, (), (const, override));
MOCK_METHOD(void, SetRid, (const std::string& rid), (override));
MOCK_METHOD(void, SetMid, (const std::string& mid), (override));
MOCK_METHOD(void, SetRid, (absl::string_view rid), (override));
MOCK_METHOD(void, SetMid, (absl::string_view mid), (override));
MOCK_METHOD(void, SetCsrcs, (const std::vector<uint32_t>& csrcs), (override));
MOCK_METHOD(void, SetRtxSendStatus, (int modes), (override));
MOCK_METHOD(int, RtxSendStatus, (), (const, override));
@ -113,10 +114,7 @@ class MockRtpRtcpInterface : public RtpRtcpInterface {
MOCK_METHOD(void, OnPacketSendingThreadSwitched, (), (override));
MOCK_METHOD(RtcpMode, RTCP, (), (const, override));
MOCK_METHOD(void, SetRTCPStatus, (RtcpMode method), (override));
MOCK_METHOD(int32_t,
SetCNAME,
(const char cname[RTCP_CNAME_SIZE]),
(override));
MOCK_METHOD(int32_t, SetCNAME, (absl::string_view cname), (override));
MOCK_METHOD(int32_t,
RemoteNTP,
(uint32_t * received_ntp_secs,

View File

@ -15,6 +15,7 @@
#include <list>
#include <utility>
#include "absl/strings/string_view.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "modules/rtp_rtcp/source/forward_error_correction.h"
#include "modules/rtp_rtcp/source/rtp_header_extensions.h"
@ -71,7 +72,7 @@ FlexfecSender::FlexfecSender(
int payload_type,
uint32_t ssrc,
uint32_t protected_media_ssrc,
const std::string& mid,
absl::string_view mid,
const std::vector<RtpExtension>& rtp_header_extensions,
rtc::ArrayView<const RtpExtensionSize> extension_sizes,
const RtpState* rtp_state,

View File

@ -15,6 +15,7 @@
#include <cstdint>
#include <utility>
#include "absl/strings/string_view.h"
#include "modules/rtp_rtcp/source/byte_io.h"
#include "modules/rtp_rtcp/source/rtcp_packet/common_header.h"
#include "rtc_base/checks.h"
@ -125,9 +126,9 @@ bool Bye::SetCsrcs(std::vector<uint32_t> csrcs) {
return true;
}
void Bye::SetReason(std::string reason) {
void Bye::SetReason(absl::string_view reason) {
RTC_DCHECK_LE(reason.size(), 0xffu);
reason_ = std::move(reason);
reason_ = std::string(reason);
}
size_t Bye::BlockLength() const {

View File

@ -15,6 +15,7 @@
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "modules/rtp_rtcp/source/rtcp_packet.h"
namespace webrtc {
@ -32,7 +33,7 @@ class Bye : public RtcpPacket {
bool Parse(const CommonHeader& packet);
bool SetCsrcs(std::vector<uint32_t> csrcs);
void SetReason(std::string reason);
void SetReason(absl::string_view reason);
const std::vector<uint32_t>& csrcs() const { return csrcs_; }
const std::string& reason() const { return reason_; }

View File

@ -14,6 +14,7 @@
#include <utility>
#include "absl/strings/string_view.h"
#include "modules/rtp_rtcp/source/byte_io.h"
#include "modules/rtp_rtcp/source/rtcp_packet/common_header.h"
#include "rtc_base/checks.h"
@ -145,7 +146,7 @@ bool Sdes::Parse(const CommonHeader& packet) {
return true;
}
bool Sdes::AddCName(uint32_t ssrc, std::string cname) {
bool Sdes::AddCName(uint32_t ssrc, absl::string_view cname) {
RTC_DCHECK_LE(cname.length(), 0xffu);
if (chunks_.size() >= kMaxNumberOfChunks) {
RTC_LOG(LS_WARNING) << "Max SDES chunks reached.";
@ -153,7 +154,7 @@ bool Sdes::AddCName(uint32_t ssrc, std::string cname) {
}
Chunk chunk;
chunk.ssrc = ssrc;
chunk.cname = std::move(cname);
chunk.cname = std::string(cname);
chunks_.push_back(chunk);
block_length_ += ChunkSize(chunk);
return true;

View File

@ -14,6 +14,7 @@
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "modules/rtp_rtcp/source/rtcp_packet.h"
namespace webrtc {
@ -35,7 +36,7 @@ class Sdes : public RtcpPacket {
// Parse assumes header is already parsed and validated.
bool Parse(const CommonHeader& packet);
bool AddCName(uint32_t ssrc, std::string cname);
bool AddCName(uint32_t ssrc, absl::string_view cname);
const std::vector<Chunk>& chunks() const { return chunks_; }

View File

@ -16,6 +16,7 @@
#include <memory>
#include <utility>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/rtc_event_log/rtc_event_log.h"
#include "api/rtp_headers.h"
@ -354,13 +355,10 @@ void RTCPSender::SetRemoteSSRC(uint32_t ssrc) {
remote_ssrc_ = ssrc;
}
int32_t RTCPSender::SetCNAME(const char* c_name) {
if (!c_name)
return -1;
RTC_DCHECK_LT(strlen(c_name), RTCP_CNAME_SIZE);
int32_t RTCPSender::SetCNAME(absl::string_view c_name) {
RTC_DCHECK_LT(c_name.size(), RTCP_CNAME_SIZE);
MutexLock lock(&mutex_rtcp_sender_);
cname_ = c_name;
cname_ = std::string(c_name);
return 0;
}

View File

@ -17,6 +17,7 @@
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/call/transport.h"
#include "api/units/time_delta.h"
@ -137,7 +138,8 @@ class RTCPSender final {
void SetRemoteSSRC(uint32_t ssrc) RTC_LOCKS_EXCLUDED(mutex_rtcp_sender_);
int32_t SetCNAME(const char* cName) RTC_LOCKS_EXCLUDED(mutex_rtcp_sender_);
int32_t SetCNAME(absl::string_view cName)
RTC_LOCKS_EXCLUDED(mutex_rtcp_sender_);
bool TimeToSendRTCPReport(bool sendKeyframeBeforeRTP = false) const
RTC_LOCKS_EXCLUDED(mutex_rtcp_sender_);

View File

@ -16,6 +16,7 @@
#include <cstdint>
#include <limits>
#include "absl/strings/string_view.h"
#include "modules/rtp_rtcp/include/rtp_cvo.h"
#include "modules/rtp_rtcp/source/byte_io.h"
// TODO(bug:9855) Move kNoSpatialIdx from vp9_globals.h to common_constants
@ -800,7 +801,7 @@ bool BaseRtpStringExtension::Parse(rtc::ArrayView<const uint8_t> data,
}
bool BaseRtpStringExtension::Write(rtc::ArrayView<uint8_t> data,
const std::string& str) {
absl::string_view str) {
if (str.size() > kMaxValueSizeBytes) {
return false;
}

View File

@ -297,8 +297,8 @@ class BaseRtpStringExtension {
static constexpr uint8_t kMaxValueSizeBytes = 16;
static bool Parse(rtc::ArrayView<const uint8_t> data, std::string* str);
static size_t ValueSize(const std::string& str) { return str.size(); }
static bool Write(rtc::ArrayView<uint8_t> data, const std::string& str);
static size_t ValueSize(absl::string_view str) { return str.size(); }
static bool Write(rtc::ArrayView<uint8_t> data, absl::string_view str);
};
class RtpStreamId : public BaseRtpStringExtension {

View File

@ -19,6 +19,7 @@
#include <string>
#include <utility>
#include "absl/strings/string_view.h"
#include "api/transport/field_trial_based_config.h"
#include "modules/rtp_rtcp/source/rtcp_packet/dlrr.h"
#include "modules/rtp_rtcp/source/rtcp_sender.h"
@ -291,13 +292,13 @@ RtpState ModuleRtpRtcpImpl::GetRtxState() const {
return state;
}
void ModuleRtpRtcpImpl::SetRid(const std::string& rid) {
void ModuleRtpRtcpImpl::SetRid(absl::string_view rid) {
if (rtp_sender_) {
rtp_sender_->packet_generator.SetRid(rid);
}
}
void ModuleRtpRtcpImpl::SetMid(const std::string& mid) {
void ModuleRtpRtcpImpl::SetMid(absl::string_view mid) {
if (rtp_sender_) {
rtp_sender_->packet_generator.SetMid(mid);
}
@ -517,7 +518,7 @@ void ModuleRtpRtcpImpl::SetRTCPStatus(const RtcpMode method) {
rtcp_sender_.SetRTCPStatus(method);
}
int32_t ModuleRtpRtcpImpl::SetCNAME(const char* c_name) {
int32_t ModuleRtpRtcpImpl::SetCNAME(absl::string_view c_name) {
return rtcp_sender_.SetCNAME(c_name);
}

View File

@ -19,6 +19,7 @@
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/rtp_headers.h"
#include "api/video/video_bitrate_allocation.h"
@ -101,9 +102,9 @@ class ModuleRtpRtcpImpl : public RtpRtcp, public RTCPReceiver::ModuleRtpRtcp {
uint32_t SSRC() const override { return rtcp_sender_.SSRC(); }
void SetRid(const std::string& rid) override;
void SetRid(absl::string_view rid) override;
void SetMid(const std::string& mid) override;
void SetMid(absl::string_view mid) override;
void SetCsrcs(const std::vector<uint32_t>& csrcs) override;
@ -167,7 +168,7 @@ class ModuleRtpRtcpImpl : public RtpRtcp, public RTCPReceiver::ModuleRtpRtcp {
void SetRTCPStatus(RtcpMode method) override;
// Set RTCP CName.
int32_t SetCNAME(const char* c_name) override;
int32_t SetCNAME(absl::string_view c_name) override;
// Get remote NTP.
int32_t RemoteNTP(uint32_t* received_ntp_secs,

View File

@ -19,6 +19,7 @@
#include <string>
#include <utility>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/sequence_checker.h"
#include "api/transport/field_trial_based_config.h"
@ -227,13 +228,13 @@ uint32_t ModuleRtpRtcpImpl2::local_media_ssrc() const {
return rtcp_receiver_.local_media_ssrc();
}
void ModuleRtpRtcpImpl2::SetRid(const std::string& rid) {
void ModuleRtpRtcpImpl2::SetRid(absl::string_view rid) {
if (rtp_sender_) {
rtp_sender_->packet_generator.SetRid(rid);
}
}
void ModuleRtpRtcpImpl2::SetMid(const std::string& mid) {
void ModuleRtpRtcpImpl2::SetMid(absl::string_view mid) {
if (rtp_sender_) {
rtp_sender_->packet_generator.SetMid(mid);
}
@ -463,7 +464,7 @@ void ModuleRtpRtcpImpl2::SetRTCPStatus(const RtcpMode method) {
rtcp_sender_.SetRTCPStatus(method);
}
int32_t ModuleRtpRtcpImpl2::SetCNAME(const char* c_name) {
int32_t ModuleRtpRtcpImpl2::SetCNAME(absl::string_view c_name) {
return rtcp_sender_.SetCNAME(c_name);
}

View File

@ -19,6 +19,7 @@
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/rtp_headers.h"
#include "api/sequence_checker.h"
@ -113,9 +114,9 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
// RtpRtcpInterface::Configuration::local_media_ssrc.
uint32_t local_media_ssrc() const;
void SetRid(const std::string& rid) override;
void SetRid(absl::string_view rid) override;
void SetMid(const std::string& mid) override;
void SetMid(absl::string_view mid) override;
void SetCsrcs(const std::vector<uint32_t>& csrcs) override;
@ -179,7 +180,7 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
void SetRTCPStatus(RtcpMode method) override;
// Set RTCP CName.
int32_t SetCNAME(const char* c_name) override;
int32_t SetCNAME(absl::string_view c_name) override;
// Get remote NTP.
int32_t RemoteNTP(uint32_t* received_ntp_secs,

View File

@ -15,6 +15,7 @@
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/field_trials_view.h"
#include "api/frame_transformer_interface.h"
@ -255,12 +256,12 @@ class RtpRtcpInterface : public RtcpFeedbackSenderInterface {
// RIDs are used to identify an RTP stream if SSRCs are not negotiated.
// If the RID and Repaired RID extensions are not registered, the RID will
// not be sent.
virtual void SetRid(const std::string& rid) = 0;
virtual void SetRid(absl::string_view rid) = 0;
// Sets the value for sending in the MID RTP header extension.
// The MID RTP header extension should be registered for this to do anything.
// Once set, this value can not be changed or removed.
virtual void SetMid(const std::string& mid) = 0;
virtual void SetMid(absl::string_view mid) = 0;
// Sets CSRC.
// `csrcs` - vector of CSRCs
@ -373,7 +374,7 @@ class RtpRtcpInterface : public RtcpFeedbackSenderInterface {
// Sets RTCP CName (i.e unique identifier).
// Returns -1 on failure else 0.
virtual int32_t SetCNAME(const char* cname) = 0;
virtual int32_t SetCNAME(absl::string_view cname) = 0;
// Returns remote NTP.
// Returns -1 on failure else 0.

View File

@ -17,6 +17,7 @@
#include <utility>
#include "absl/strings/match.h"
#include "absl/strings/string_view.h"
#include "api/array_view.h"
#include "api/rtc_event_log/rtc_event_log.h"
#include "logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h"
@ -583,19 +584,19 @@ uint32_t RTPSender::TimestampOffset() const {
return timestamp_offset_;
}
void RTPSender::SetRid(const std::string& rid) {
void RTPSender::SetRid(absl::string_view rid) {
// RID is used in simulcast scenario when multiple layers share the same mid.
MutexLock lock(&send_mutex_);
RTC_DCHECK_LE(rid.length(), RtpStreamId::kMaxValueSizeBytes);
rid_ = rid;
rid_ = std::string(rid);
UpdateHeaderSizes();
}
void RTPSender::SetMid(const std::string& mid) {
void RTPSender::SetMid(absl::string_view mid) {
// This is configured via the API.
MutexLock lock(&send_mutex_);
RTC_DCHECK_LE(mid.length(), RtpMid::kMaxValueSizeBytes);
mid_ = mid;
mid_ = std::string(mid);
UpdateHeaderSizes();
}

View File

@ -58,9 +58,9 @@ class RTPSender {
uint32_t TimestampOffset() const RTC_LOCKS_EXCLUDED(send_mutex_);
void SetTimestampOffset(uint32_t timestamp) RTC_LOCKS_EXCLUDED(send_mutex_);
void SetRid(const std::string& rid) RTC_LOCKS_EXCLUDED(send_mutex_);
void SetRid(absl::string_view rid) RTC_LOCKS_EXCLUDED(send_mutex_);
void SetMid(const std::string& mid) RTC_LOCKS_EXCLUDED(send_mutex_);
void SetMid(absl::string_view mid) RTC_LOCKS_EXCLUDED(send_mutex_);
uint16_t SequenceNumber() const RTC_LOCKS_EXCLUDED(send_mutex_);
void SetSequenceNumber(uint16_t seq) RTC_LOCKS_EXCLUDED(send_mutex_);

View File

@ -13,6 +13,7 @@
#include <memory>
#include <vector>
#include "absl/strings/string_view.h"
#include "api/rtc_event_log/rtc_event.h"
#include "api/transport/field_trial_based_config.h"
#include "api/video/video_codec_constants.h"
@ -266,14 +267,14 @@ class RtpSenderTest : public ::testing::Test {
// Enable sending of the MID header extension for both the primary SSRC and
// the RTX SSRC.
void EnableMidSending(const std::string& mid) {
void EnableMidSending(absl::string_view mid) {
rtp_sender_->RegisterRtpHeaderExtension(RtpMid::Uri(), kMidExtensionId);
rtp_sender_->SetMid(mid);
}
// Enable sending of the RSID header extension for the primary SSRC and the
// RRSID header extension for the RTX SSRC.
void EnableRidSending(const std::string& rid) {
void EnableRidSending(absl::string_view rid) {
rtp_sender_->RegisterRtpHeaderExtension(RtpStreamId::Uri(),
kRidExtensionId);
rtp_sender_->RegisterRtpHeaderExtension(RepairedRtpStreamId::Uri(),