in RtpExtension constructors pass strings by string_view rather than by value
To allow construct that object from an existent string_view without explicit conversion
Bug: webrtc:11428
Change-Id: I38d93573be72e307bdf7068a6300d10cf46d2d62
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171689
Reviewed-by: Markus Handell <handellm@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30904}
diff --git a/api/rtp_parameters.cc b/api/rtp_parameters.cc
index 4b300a7..16b053e 100644
--- a/api/rtp_parameters.cc
+++ b/api/rtp_parameters.cc
@@ -32,23 +32,24 @@
RtpCodecCapability::~RtpCodecCapability() = default;
RtpHeaderExtensionCapability::RtpHeaderExtensionCapability() = default;
-RtpHeaderExtensionCapability::RtpHeaderExtensionCapability(std::string uri)
- : uri(std::move(uri)) {}
-RtpHeaderExtensionCapability::RtpHeaderExtensionCapability(std::string uri,
- int preferred_id)
- : uri(std::move(uri)), preferred_id(preferred_id) {}
RtpHeaderExtensionCapability::RtpHeaderExtensionCapability(
- std::string uri,
+ absl::string_view uri)
+ : uri(uri) {}
+RtpHeaderExtensionCapability::RtpHeaderExtensionCapability(
+ absl::string_view uri,
+ int preferred_id)
+ : uri(uri), preferred_id(preferred_id) {}
+RtpHeaderExtensionCapability::RtpHeaderExtensionCapability(
+ absl::string_view uri,
int preferred_id,
RtpTransceiverDirection direction)
- : uri(std::move(uri)), preferred_id(preferred_id), direction(direction) {}
+ : uri(uri), preferred_id(preferred_id), direction(direction) {}
RtpHeaderExtensionCapability::~RtpHeaderExtensionCapability() = default;
RtpExtension::RtpExtension() = default;
-RtpExtension::RtpExtension(std::string uri, int id)
- : uri(std::move(uri)), id(id) {}
-RtpExtension::RtpExtension(std::string uri, int id, bool encrypt)
- : uri(std::move(uri)), id(id), encrypt(encrypt) {}
+RtpExtension::RtpExtension(absl::string_view uri, int id) : uri(uri), id(id) {}
+RtpExtension::RtpExtension(absl::string_view uri, int id, bool encrypt)
+ : uri(uri), id(id), encrypt(encrypt) {}
RtpExtension::~RtpExtension() = default;
RtpFecParameters::RtpFecParameters() = default;
diff --git a/api/rtp_parameters.h b/api/rtp_parameters.h
index 4462447..5435922 100644
--- a/api/rtp_parameters.h
+++ b/api/rtp_parameters.h
@@ -232,9 +232,9 @@
// Constructors for convenience.
RtpHeaderExtensionCapability();
- explicit RtpHeaderExtensionCapability(std::string uri);
- RtpHeaderExtensionCapability(std::string uri, int preferred_id);
- RtpHeaderExtensionCapability(std::string uri,
+ explicit RtpHeaderExtensionCapability(absl::string_view uri);
+ RtpHeaderExtensionCapability(absl::string_view uri, int preferred_id);
+ RtpHeaderExtensionCapability(absl::string_view uri,
int preferred_id,
RtpTransceiverDirection direction);
~RtpHeaderExtensionCapability();
@@ -251,8 +251,8 @@
// RTP header extension, see RFC8285.
struct RTC_EXPORT RtpExtension {
RtpExtension();
- RtpExtension(std::string uri, int id);
- RtpExtension(std::string uri, int id, bool encrypt);
+ RtpExtension(absl::string_view uri, int id);
+ RtpExtension(absl::string_view uri, int id, bool encrypt);
~RtpExtension();
std::string ToString() const;