Deduplicate set of the rtp header extension uri constants
Bug: webrtc:7472 Change-Id: Ic0b4f2cc3374ba70a043310b5046d8bf91f0acbe Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231949 Reviewed-by: Tommi <tommi@webrtc.org> Commit-Queue: Tommi <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#34990}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
dc8fc72204
commit
d0321c5e5a
@ -16,8 +16,11 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/base/attributes.h"
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "api/array_view.h"
|
||||
#include "api/rtp_headers.h"
|
||||
#include "api/rtp_parameters.h"
|
||||
#include "api/video/color_space.h"
|
||||
#include "api/video/video_content_type.h"
|
||||
#include "api/video/video_rotation.h"
|
||||
@ -31,8 +34,11 @@ class AbsoluteSendTime {
|
||||
using value_type = uint32_t;
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionAbsoluteSendTime;
|
||||
static constexpr uint8_t kValueSizeBytes = 3;
|
||||
static constexpr const char kUri[] =
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const char kUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kAbsSendTimeUri;
|
||||
}
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data, uint32_t* time_24bits);
|
||||
static size_t ValueSize(uint32_t time_24bits) { return kValueSizeBytes; }
|
||||
@ -50,8 +56,11 @@ class AbsoluteCaptureTimeExtension {
|
||||
static constexpr uint8_t kValueSizeBytes = 16;
|
||||
static constexpr uint8_t kValueSizeBytesWithoutEstimatedCaptureClockOffset =
|
||||
8;
|
||||
static constexpr const char kUri[] =
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const char kUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kAbsoluteCaptureTimeUri;
|
||||
}
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data,
|
||||
AbsoluteCaptureTime* extension);
|
||||
@ -64,8 +73,11 @@ class AudioLevel {
|
||||
public:
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionAudioLevel;
|
||||
static constexpr uint8_t kValueSizeBytes = 1;
|
||||
static constexpr const char kUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:ssrc-audio-level";
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const
|
||||
char kUri[] = "urn:ietf:params:rtp-hdrext:ssrc-audio-level";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kAudioLevelUri;
|
||||
}
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data,
|
||||
bool* voice_activity,
|
||||
@ -82,8 +94,11 @@ class CsrcAudioLevel {
|
||||
public:
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionCsrcAudioLevel;
|
||||
static constexpr uint8_t kMaxValueSizeBytes = 15;
|
||||
static constexpr const char kUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:csrc-audio-level";
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const
|
||||
char kUri[] = "urn:ietf:params:rtp-hdrext:csrc-audio-level";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kCsrcAudioLevelsUri;
|
||||
}
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data,
|
||||
std::vector<uint8_t>* csrc_audio_levels);
|
||||
@ -97,7 +112,11 @@ class TransmissionOffset {
|
||||
using value_type = int32_t;
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionTransmissionTimeOffset;
|
||||
static constexpr uint8_t kValueSizeBytes = 3;
|
||||
static constexpr const char kUri[] = "urn:ietf:params:rtp-hdrext:toffset";
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const
|
||||
char kUri[] = "urn:ietf:params:rtp-hdrext:toffset";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kTimestampOffsetUri;
|
||||
}
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data, int32_t* rtp_time);
|
||||
static size_t ValueSize(int32_t rtp_time) { return kValueSizeBytes; }
|
||||
@ -109,9 +128,13 @@ class TransportSequenceNumber {
|
||||
using value_type = uint16_t;
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionTransportSequenceNumber;
|
||||
static constexpr uint8_t kValueSizeBytes = 2;
|
||||
static constexpr const char kUri[] =
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const char kUri[] =
|
||||
"http://www.ietf.org/id/"
|
||||
"draft-holmer-rmcat-transport-wide-cc-extensions-01";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kTransportSequenceNumberUri;
|
||||
}
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data,
|
||||
uint16_t* transport_sequence_number);
|
||||
static size_t ValueSize(uint16_t /*transport_sequence_number*/) {
|
||||
@ -127,8 +150,12 @@ class TransportSequenceNumberV2 {
|
||||
kRtpExtensionTransportSequenceNumber02;
|
||||
static constexpr uint8_t kValueSizeBytes = 4;
|
||||
static constexpr uint8_t kValueSizeBytesWithoutFeedbackRequest = 2;
|
||||
static constexpr const char kUri[] =
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const char kUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/transport-wide-cc-02";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kTransportSequenceNumberV2Uri;
|
||||
}
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data,
|
||||
uint16_t* transport_sequence_number,
|
||||
absl::optional<FeedbackRequest>* feedback_request);
|
||||
@ -151,7 +178,11 @@ class VideoOrientation {
|
||||
using value_type = VideoRotation;
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionVideoRotation;
|
||||
static constexpr uint8_t kValueSizeBytes = 1;
|
||||
static constexpr const char kUri[] = "urn:3gpp:video-orientation";
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const
|
||||
char kUri[] = "urn:3gpp:video-orientation";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kVideoRotationUri;
|
||||
}
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data, VideoRotation* value);
|
||||
static size_t ValueSize(VideoRotation) { return kValueSizeBytes; }
|
||||
@ -166,8 +197,11 @@ class PlayoutDelayLimits {
|
||||
using value_type = VideoPlayoutDelay;
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionPlayoutDelay;
|
||||
static constexpr uint8_t kValueSizeBytes = 3;
|
||||
static constexpr const char kUri[] =
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const char kUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/playout-delay";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kPlayoutDelayUri;
|
||||
}
|
||||
|
||||
// Playout delay in milliseconds. A playout delay limit (min or max)
|
||||
// has 12 bits allocated. This allows a range of 0-4095 values which
|
||||
@ -188,8 +222,11 @@ class VideoContentTypeExtension {
|
||||
using value_type = VideoContentType;
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionVideoContentType;
|
||||
static constexpr uint8_t kValueSizeBytes = 1;
|
||||
static constexpr const char kUri[] =
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const char kUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/video-content-type";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kVideoContentTypeUri;
|
||||
}
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data,
|
||||
VideoContentType* content_type);
|
||||
@ -203,8 +240,11 @@ class VideoTimingExtension {
|
||||
using value_type = VideoSendTiming;
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionVideoTiming;
|
||||
static constexpr uint8_t kValueSizeBytes = 13;
|
||||
static constexpr const char kUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/video-timing";
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const
|
||||
char kUri[] = "http://www.webrtc.org/experiments/rtp-hdrext/video-timing";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kVideoTimingUri;
|
||||
}
|
||||
|
||||
// Offsets of the fields in the RTP header extension, counting from the first
|
||||
// byte after the one-byte header.
|
||||
@ -237,8 +277,11 @@ class ColorSpaceExtension {
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionColorSpace;
|
||||
static constexpr uint8_t kValueSizeBytes = 28;
|
||||
static constexpr uint8_t kValueSizeBytesWithoutHdrMetadata = 4;
|
||||
static constexpr const char kUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/color-space";
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const
|
||||
char kUri[] = "http://www.webrtc.org/experiments/rtp-hdrext/color-space";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kColorSpaceUri;
|
||||
}
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data,
|
||||
ColorSpace* color_space);
|
||||
@ -287,21 +330,27 @@ class BaseRtpStringExtension {
|
||||
class RtpStreamId : public BaseRtpStringExtension {
|
||||
public:
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionRtpStreamId;
|
||||
static constexpr const char kUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const
|
||||
char kUri[] = "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";
|
||||
static constexpr absl::string_view Uri() { return RtpExtension::kRidUri; }
|
||||
};
|
||||
|
||||
class RepairedRtpStreamId : public BaseRtpStringExtension {
|
||||
public:
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionRepairedRtpStreamId;
|
||||
static constexpr const char kUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const
|
||||
char kUri[] = "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kRepairedRidUri;
|
||||
}
|
||||
};
|
||||
|
||||
class RtpMid : public BaseRtpStringExtension {
|
||||
public:
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionMid;
|
||||
static constexpr const char kUri[] = "urn:ietf:params:rtp-hdrext:sdes:mid";
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const
|
||||
char kUri[] = "urn:ietf:params:rtp-hdrext:sdes:mid";
|
||||
static constexpr absl::string_view Uri() { return RtpExtension::kMidUri; }
|
||||
};
|
||||
|
||||
class InbandComfortNoiseExtension {
|
||||
@ -312,6 +361,7 @@ class InbandComfortNoiseExtension {
|
||||
static constexpr uint8_t kValueSizeBytes = 1;
|
||||
static constexpr const char kUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/inband-cn";
|
||||
static constexpr absl::string_view Uri() { return kUri; }
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data,
|
||||
absl::optional<uint8_t>* level);
|
||||
@ -327,8 +377,12 @@ class VideoFrameTrackingIdExtension {
|
||||
using value_type = uint16_t;
|
||||
static constexpr RTPExtensionType kId = kRtpExtensionVideoFrameTrackingId;
|
||||
static constexpr uint8_t kValueSizeBytes = 2;
|
||||
static constexpr const char kUri[] =
|
||||
static constexpr ABSL_DEPRECATED("Use Uri()") const char kUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/video-frame-tracking-id";
|
||||
static constexpr absl::string_view Uri() {
|
||||
return RtpExtension::kVideoFrameTrackingIdUri;
|
||||
}
|
||||
|
||||
static bool Parse(rtc::ArrayView<const uint8_t> data,
|
||||
uint16_t* video_frame_tracking_id);
|
||||
static size_t ValueSize(uint16_t /*video_frame_tracking_id*/) {
|
||||
|
||||
Reference in New Issue
Block a user