Adopt absl::string_view in CopyOnWriteBuffer Bug: webrtc:13579 Change-Id: Ia2b99a28ed0c103215e8616da67a5c961b957199 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260465 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Ali Tofigh <alito@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36832}
diff --git a/logging/BUILD.gn b/logging/BUILD.gn index 67566ce..d8b4b84 100644 --- a/logging/BUILD.gn +++ b/logging/BUILD.gn
@@ -449,6 +449,7 @@ "../modules/audio_coding:audio_network_adaptor", "../modules/rtp_rtcp:rtp_rtcp_format", "../rtc_base:checks", + "../rtc_base:copy_on_write_buffer", "../rtc_base:ignore_wundef", "../rtc_base:logging", "../rtc_base:protobuf_utils",
diff --git a/logging/rtc_event_log/rtc_event_log_parser.cc b/logging/rtc_event_log/rtc_event_log_parser.cc index b4392e8..4033a59 100644 --- a/logging/rtc_event_log/rtc_event_log_parser.cc +++ b/logging/rtc_event_log/rtc_event_log_parser.cc
@@ -38,6 +38,7 @@ #include "modules/rtp_rtcp/source/rtp_header_extensions.h" #include "modules/rtp_rtcp/source/rtp_packet_received.h" #include "rtc_base/checks.h" +#include "rtc_base/copy_on_write_buffer.h" #include "rtc_base/logging.h" #include "rtc_base/numerics/safe_conversions.h" #include "rtc_base/numerics/sequence_number_util.h" @@ -1637,7 +1638,8 @@ // Use RtpPacketReceived instead of more generic RtpPacket because former // has a buildin convertion to RTPHeader. RtpPacketReceived rtp_header; - RTC_PARSE_CHECK_OR_RETURN(rtp_header.Parse(rtp_packet.header())); + RTC_PARSE_CHECK_OR_RETURN( + rtp_header.Parse(rtc::CopyOnWriteBuffer(rtp_packet.header()))); if (const RtpHeaderExtensionMap* extension_map = GetRtpHeaderExtensionMap( rtp_packet.incoming(), rtp_header.Ssrc())) {
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index b4cf481..33cd57f 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn
@@ -183,6 +183,7 @@ "../api:scoped_refptr", "system:rtc_export", ] + absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_library("event_tracer") {
diff --git a/rtc_base/copy_on_write_buffer.cc b/rtc_base/copy_on_write_buffer.cc index f3cc710..850327b 100644 --- a/rtc_base/copy_on_write_buffer.cc +++ b/rtc_base/copy_on_write_buffer.cc
@@ -12,6 +12,8 @@ #include <stddef.h> +#include "absl/strings/string_view.h" + namespace rtc { CopyOnWriteBuffer::CopyOnWriteBuffer() : offset_(0), size_(0) { @@ -28,7 +30,7 @@ RTC_DCHECK(IsConsistent()); } -CopyOnWriteBuffer::CopyOnWriteBuffer(const std::string& s) +CopyOnWriteBuffer::CopyOnWriteBuffer(absl::string_view s) : CopyOnWriteBuffer(s.data(), s.length()) {} CopyOnWriteBuffer::CopyOnWriteBuffer(size_t size)
diff --git a/rtc_base/copy_on_write_buffer.h b/rtc_base/copy_on_write_buffer.h index 6837f06..849f5f5 100644 --- a/rtc_base/copy_on_write_buffer.h +++ b/rtc_base/copy_on_write_buffer.h
@@ -19,6 +19,7 @@ #include <type_traits> #include <utility> +#include "absl/strings/string_view.h" #include "api/scoped_refptr.h" #include "rtc_base/buffer.h" #include "rtc_base/checks.h" @@ -38,7 +39,7 @@ CopyOnWriteBuffer(CopyOnWriteBuffer&& buf); // Construct a buffer from a string, convenient for unittests. - CopyOnWriteBuffer(const std::string& s); + explicit CopyOnWriteBuffer(absl::string_view s); // Construct a buffer with the specified number of uninitialized bytes. explicit CopyOnWriteBuffer(size_t size);