From d14d9f741433f49f9c321b6d3565c4e5a61deb5e Mon Sep 17 00:00:00 2001 From: Steve Anton Date: Fri, 21 Jul 2017 10:59:39 -0700 Subject: [PATCH] Use array declaration for extension URIs. Allows using sizeof() on the class constants and reduces space usage by a pointer. Bug: None Change-Id: Ie919b13094903d50bdadc92b23a5aa5b6cc100ec Reviewed-on: https://chromium-review.googlesource.com/581878 Reviewed-by: Tommi Reviewed-by: Danil Chapovalov Commit-Queue: Steve Anton Cr-Commit-Position: refs/heads/master@{#19113} --- .../rtp_rtcp/source/rtp_header_extensions.cc | 22 +++++++++---------- .../rtp_rtcp/source/rtp_header_extensions.h | 22 +++++++++---------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc index 8b40d049dd..5e172c4f66 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc @@ -33,7 +33,7 @@ namespace webrtc { // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ constexpr RTPExtensionType AbsoluteSendTime::kId; constexpr uint8_t AbsoluteSendTime::kValueSizeBytes; -constexpr const char* AbsoluteSendTime::kUri; +constexpr const char AbsoluteSendTime::kUri[]; bool AbsoluteSendTime::Parse(rtc::ArrayView data, uint32_t* time_24bits) { @@ -63,7 +63,7 @@ bool AbsoluteSendTime::Write(uint8_t* data, uint32_t time_24bits) { // constexpr RTPExtensionType AudioLevel::kId; constexpr uint8_t AudioLevel::kValueSizeBytes; -constexpr const char* AudioLevel::kUri; +constexpr const char AudioLevel::kUri[]; bool AudioLevel::Parse(rtc::ArrayView data, bool* voice_activity, @@ -101,7 +101,7 @@ bool AudioLevel::Write(uint8_t* data, // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ constexpr RTPExtensionType TransmissionOffset::kId; constexpr uint8_t TransmissionOffset::kValueSizeBytes; -constexpr const char* TransmissionOffset::kUri; +constexpr const char TransmissionOffset::kUri[]; bool TransmissionOffset::Parse(rtc::ArrayView data, int32_t* rtp_time) { @@ -124,7 +124,7 @@ bool TransmissionOffset::Write(uint8_t* data, int32_t rtp_time) { // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ constexpr RTPExtensionType TransportSequenceNumber::kId; constexpr uint8_t TransportSequenceNumber::kValueSizeBytes; -constexpr const char* TransportSequenceNumber::kUri; +constexpr const char TransportSequenceNumber::kUri[]; bool TransportSequenceNumber::Parse(rtc::ArrayView data, uint16_t* value) { @@ -152,7 +152,7 @@ bool TransportSequenceNumber::Write(uint8_t* data, uint16_t value) { // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ constexpr RTPExtensionType VideoOrientation::kId; constexpr uint8_t VideoOrientation::kValueSizeBytes; -constexpr const char* VideoOrientation::kUri; +constexpr const char VideoOrientation::kUri[]; bool VideoOrientation::Parse(rtc::ArrayView data, VideoRotation* rotation) { @@ -187,7 +187,7 @@ bool VideoOrientation::Write(uint8_t* data, uint8_t value) { // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ constexpr RTPExtensionType PlayoutDelayLimits::kId; constexpr uint8_t PlayoutDelayLimits::kValueSizeBytes; -constexpr const char* PlayoutDelayLimits::kUri; +constexpr const char PlayoutDelayLimits::kUri[]; bool PlayoutDelayLimits::Parse(rtc::ArrayView data, PlayoutDelay* playout_delay) { @@ -227,7 +227,7 @@ bool PlayoutDelayLimits::Write(uint8_t* data, // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ constexpr RTPExtensionType VideoContentTypeExtension::kId; constexpr uint8_t VideoContentTypeExtension::kValueSizeBytes; -constexpr const char* VideoContentTypeExtension::kUri; +constexpr const char VideoContentTypeExtension::kUri[]; bool VideoContentTypeExtension::Parse(rtc::ArrayView data, VideoContentType* content_type) { @@ -263,7 +263,7 @@ bool VideoContentTypeExtension::Write(uint8_t* data, constexpr RTPExtensionType VideoTimingExtension::kId; constexpr uint8_t VideoTimingExtension::kValueSizeBytes; -constexpr const char* VideoTimingExtension::kUri; +constexpr const char VideoTimingExtension::kUri[]; bool VideoTimingExtension::Parse(rtc::ArrayView data, VideoSendTiming* timing) { @@ -351,12 +351,12 @@ bool BaseRtpStringExtension::Write(uint8_t* data, const std::string& str) { // Constant declarations for string RTP header extension types. constexpr RTPExtensionType RtpStreamId::kId; -constexpr const char* RtpStreamId::kUri; +constexpr const char RtpStreamId::kUri[]; constexpr RTPExtensionType RepairedRtpStreamId::kId; -constexpr const char* RepairedRtpStreamId::kUri; +constexpr const char RepairedRtpStreamId::kUri[]; constexpr RTPExtensionType RtpMid::kId; -constexpr const char* RtpMid::kUri; +constexpr const char RtpMid::kUri[]; } // namespace webrtc diff --git a/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h index 8471cfb89e..9dabca28b9 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h +++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h @@ -25,7 +25,7 @@ class AbsoluteSendTime { public: static constexpr RTPExtensionType kId = kRtpExtensionAbsoluteSendTime; static constexpr uint8_t kValueSizeBytes = 3; - static constexpr const char* kUri = + static constexpr const char kUri[] = "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"; static bool Parse(rtc::ArrayView data, uint32_t* time_24bits); @@ -41,7 +41,7 @@ class AudioLevel { public: static constexpr RTPExtensionType kId = kRtpExtensionAudioLevel; static constexpr uint8_t kValueSizeBytes = 1; - static constexpr const char* kUri = + static constexpr const char kUri[] = "urn:ietf:params:rtp-hdrext:ssrc-audio-level"; static bool Parse(rtc::ArrayView data, @@ -57,7 +57,7 @@ class TransmissionOffset { public: static constexpr RTPExtensionType kId = kRtpExtensionTransmissionTimeOffset; static constexpr uint8_t kValueSizeBytes = 3; - static constexpr const char* kUri = "urn:ietf:params:rtp-hdrext:toffset"; + static constexpr const char kUri[] = "urn:ietf:params:rtp-hdrext:toffset"; static bool Parse(rtc::ArrayView data, int32_t* rtp_time); static size_t ValueSize(int32_t rtp_time) { return kValueSizeBytes; } @@ -68,7 +68,7 @@ class TransportSequenceNumber { public: static constexpr RTPExtensionType kId = kRtpExtensionTransportSequenceNumber; static constexpr uint8_t kValueSizeBytes = 2; - static constexpr const char* kUri = + static constexpr const char kUri[] = "http://www.ietf.org/id/" "draft-holmer-rmcat-transport-wide-cc-extensions-01"; static bool Parse(rtc::ArrayView data, uint16_t* value); @@ -80,7 +80,7 @@ class VideoOrientation { public: static constexpr RTPExtensionType kId = kRtpExtensionVideoRotation; static constexpr uint8_t kValueSizeBytes = 1; - static constexpr const char* kUri = "urn:3gpp:video-orientation"; + static constexpr const char kUri[] = "urn:3gpp:video-orientation"; static bool Parse(rtc::ArrayView data, VideoRotation* value); static size_t ValueSize(VideoRotation) { return kValueSizeBytes; } @@ -94,7 +94,7 @@ class PlayoutDelayLimits { public: static constexpr RTPExtensionType kId = kRtpExtensionPlayoutDelay; static constexpr uint8_t kValueSizeBytes = 3; - static constexpr const char* kUri = + static constexpr const char kUri[] = "http://www.webrtc.org/experiments/rtp-hdrext/playout-delay"; // Playout delay in milliseconds. A playout delay limit (min or max) @@ -116,7 +116,7 @@ class VideoContentTypeExtension { public: static constexpr RTPExtensionType kId = kRtpExtensionVideoContentType; static constexpr uint8_t kValueSizeBytes = 1; - static constexpr const char* kUri = + static constexpr const char kUri[] = "http://www.webrtc.org/experiments/rtp-hdrext/video-content-type"; static bool Parse(rtc::ArrayView data, @@ -131,7 +131,7 @@ class VideoTimingExtension { public: static constexpr RTPExtensionType kId = kRtpExtensionVideoTiming; static constexpr uint8_t kValueSizeBytes = 12; - static constexpr const char* kUri = + static constexpr const char kUri[] = "http://www.webrtc.org/experiments/rtp-hdrext/video-timing"; static bool Parse(rtc::ArrayView data, @@ -165,21 +165,21 @@ class BaseRtpStringExtension { class RtpStreamId : public BaseRtpStringExtension { public: static constexpr RTPExtensionType kId = kRtpExtensionRtpStreamId; - static constexpr const char* kUri = + static constexpr const char kUri[] = "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id"; }; class RepairedRtpStreamId : public BaseRtpStringExtension { public: static constexpr RTPExtensionType kId = kRtpExtensionRepairedRtpStreamId; - static constexpr const char* kUri = + static constexpr const char kUri[] = "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id"; }; class RtpMid : public BaseRtpStringExtension { public: static constexpr RTPExtensionType kId = kRtpExtensionMid; - static constexpr const char* kUri = "urn:ietf:params:rtp-hdrext:sdes:mid"; + static constexpr const char kUri[] = "urn:ietf:params:rtp-hdrext:sdes:mid"; }; } // namespace webrtc