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}
diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn
index 8e25b42..86c25a4 100644
--- a/modules/rtp_rtcp/BUILD.gn
+++ b/modules/rtp_rtcp/BUILD.gn
@@ -467,7 +467,10 @@
     "../../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 @@
       "//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",
     ]
   }
diff --git a/modules/rtp_rtcp/include/flexfec_sender.h b/modules/rtp_rtcp/include/flexfec_sender.h
index 737593e..f0acfe6 100644
--- a/modules/rtp_rtcp/include/flexfec_sender.h
+++ b/modules/rtp_rtcp/include/flexfec_sender.h
@@ -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 @@
   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,
diff --git a/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h b/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h
index 2f1c894..6a4eba6 100644
--- a/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h
+++ b/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h
@@ -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 @@
   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 @@
   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,
diff --git a/modules/rtp_rtcp/source/flexfec_sender.cc b/modules/rtp_rtcp/source/flexfec_sender.cc
index f6fe06e..292fe4a 100644
--- a/modules/rtp_rtcp/source/flexfec_sender.cc
+++ b/modules/rtp_rtcp/source/flexfec_sender.cc
@@ -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 @@
     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,
diff --git a/modules/rtp_rtcp/source/rtcp_packet/bye.cc b/modules/rtp_rtcp/source/rtcp_packet/bye.cc
index cefa341..a647177 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/bye.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/bye.cc
@@ -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 @@
   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 {
diff --git a/modules/rtp_rtcp/source/rtcp_packet/bye.h b/modules/rtp_rtcp/source/rtcp_packet/bye.h
index c96a757..d312057 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/bye.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/bye.h
@@ -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 @@
   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_; }
diff --git a/modules/rtp_rtcp/source/rtcp_packet/sdes.cc b/modules/rtp_rtcp/source/rtcp_packet/sdes.cc
index b2d0ff9..f244ec5 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/sdes.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/sdes.cc
@@ -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 @@
   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 @@
   }
   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;
diff --git a/modules/rtp_rtcp/source/rtcp_packet/sdes.h b/modules/rtp_rtcp/source/rtcp_packet/sdes.h
index 70e9385..36b63ba 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/sdes.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/sdes.h
@@ -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 @@
   // 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_; }
 
diff --git a/modules/rtp_rtcp/source/rtcp_sender.cc b/modules/rtp_rtcp/source/rtcp_sender.cc
index 04f8041..c9543c1 100644
--- a/modules/rtp_rtcp/source/rtcp_sender.cc
+++ b/modules/rtp_rtcp/source/rtcp_sender.cc
@@ -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 @@
   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;
 }
 
diff --git a/modules/rtp_rtcp/source/rtcp_sender.h b/modules/rtp_rtcp/source/rtcp_sender.h
index 00b58b4..8f51e79 100644
--- a/modules/rtp_rtcp/source/rtcp_sender.h
+++ b/modules/rtp_rtcp/source/rtcp_sender.h
@@ -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 @@
 
   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_);
diff --git a/modules/rtp_rtcp/source/rtp_header_extensions.cc b/modules/rtp_rtcp/source/rtp_header_extensions.cc
index 32edd63..81961c6 100644
--- a/modules/rtp_rtcp/source/rtp_header_extensions.cc
+++ b/modules/rtp_rtcp/source/rtp_header_extensions.cc
@@ -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::Write(rtc::ArrayView<uint8_t> data,
-                                   const std::string& str) {
+                                   absl::string_view str) {
   if (str.size() > kMaxValueSizeBytes) {
     return false;
   }
diff --git a/modules/rtp_rtcp/source/rtp_header_extensions.h b/modules/rtp_rtcp/source/rtp_header_extensions.h
index ffbdafd..0579417 100644
--- a/modules/rtp_rtcp/source/rtp_header_extensions.h
+++ b/modules/rtp_rtcp/source/rtp_header_extensions.h
@@ -297,8 +297,8 @@
   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 {
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
index a98dab3..c34cf9b 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
@@ -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 @@
   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 @@
   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);
 }
 
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.h b/modules/rtp_rtcp/source/rtp_rtcp_impl.h
index 499573c..1750e3d 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl.h
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.h
@@ -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 @@
 
   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 @@
   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,
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
index 06fbbe0..9195429 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
@@ -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 @@
   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 @@
   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);
 }
 
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
index 535907f..2b1fd2e 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
@@ -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 @@
   // 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 @@
   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,
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_interface.h b/modules/rtp_rtcp/source/rtp_rtcp_interface.h
index 48c6071..2c30318 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_interface.h
+++ b/modules/rtp_rtcp/source/rtp_rtcp_interface.h
@@ -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 @@
   // 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 @@
 
   // 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.
diff --git a/modules/rtp_rtcp/source/rtp_sender.cc b/modules/rtp_rtcp/source/rtp_sender.cc
index 1c3cb28..d42c708 100644
--- a/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/modules/rtp_rtcp/source/rtp_sender.cc
@@ -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 @@
   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();
 }
 
diff --git a/modules/rtp_rtcp/source/rtp_sender.h b/modules/rtp_rtcp/source/rtp_sender.h
index cb2c99e..a212fd8 100644
--- a/modules/rtp_rtcp/source/rtp_sender.h
+++ b/modules/rtp_rtcp/source/rtp_sender.h
@@ -58,9 +58,9 @@
   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_);
diff --git a/modules/rtp_rtcp/source/rtp_sender_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_unittest.cc
index 6eba477..a9b5dec 100644
--- a/modules/rtp_rtcp/source/rtp_sender_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_unittest.cc
@@ -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 @@
 
   // 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(),