Make all RtpExtension uris constexpr rather than just const
while at it removed unused deprecated kGenericFrameDescriptorUri and slightly reorded extensions for better grouping. Bug: webrtc:7472 Change-Id: I42c03d5f20798ec9148b5085d57953ff3633e055 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168541 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30883}
This commit is contained in:
parent
7e91482fcc
commit
418cfee167
@ -96,64 +96,25 @@ std::string RtpExtension::ToString() const {
|
||||
return sb.str();
|
||||
}
|
||||
|
||||
const char RtpExtension::kAudioLevelUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:ssrc-audio-level";
|
||||
|
||||
const char RtpExtension::kTimestampOffsetUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:toffset";
|
||||
|
||||
const char RtpExtension::kAbsSendTimeUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";
|
||||
|
||||
const char RtpExtension::kAbsoluteCaptureTimeUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time";
|
||||
|
||||
const char RtpExtension::kVideoRotationUri[] = "urn:3gpp:video-orientation";
|
||||
|
||||
const char RtpExtension::kTransportSequenceNumberUri[] =
|
||||
"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01";
|
||||
const char RtpExtension::kTransportSequenceNumberV2Uri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/transport-wide-cc-02";
|
||||
|
||||
// This extension allows applications to adaptively limit the playout delay
|
||||
// on frames as per the current needs. For example, a gaming application
|
||||
// has very different needs on end-to-end delay compared to a video-conference
|
||||
// application.
|
||||
const char RtpExtension::kPlayoutDelayUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/playout-delay";
|
||||
|
||||
const char RtpExtension::kVideoContentTypeUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/video-content-type";
|
||||
|
||||
const char RtpExtension::kVideoTimingUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/video-timing";
|
||||
|
||||
const char RtpExtension::kMidUri[] = "urn:ietf:params:rtp-hdrext:sdes:mid";
|
||||
|
||||
const char RtpExtension::kFrameMarkingUri[] =
|
||||
"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07";
|
||||
|
||||
const char RtpExtension::kGenericFrameDescriptorUri00[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/generic-frame-descriptor-00";
|
||||
const char RtpExtension::kGenericFrameDescriptorUri01[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/generic-frame-descriptor-01";
|
||||
const char RtpExtension::kDependencyDescriptorUri[] =
|
||||
"https://aomediacodec.github.io/av1-rtp-spec/"
|
||||
"#dependency-descriptor-rtp-header-extension";
|
||||
const char RtpExtension::kGenericFrameDescriptorUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/generic-frame-descriptor-00";
|
||||
|
||||
const char RtpExtension::kEncryptHeaderExtensionsUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:encrypt";
|
||||
|
||||
const char RtpExtension::kColorSpaceUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/color-space";
|
||||
|
||||
const char RtpExtension::kRidUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";
|
||||
|
||||
const char RtpExtension::kRepairedRidUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";
|
||||
constexpr char RtpExtension::kEncryptHeaderExtensionsUri[];
|
||||
constexpr char RtpExtension::kAudioLevelUri[];
|
||||
constexpr char RtpExtension::kTimestampOffsetUri[];
|
||||
constexpr char RtpExtension::kAbsSendTimeUri[];
|
||||
constexpr char RtpExtension::kAbsoluteCaptureTimeUri[];
|
||||
constexpr char RtpExtension::kVideoRotationUri[];
|
||||
constexpr char RtpExtension::kVideoContentTypeUri[];
|
||||
constexpr char RtpExtension::kVideoTimingUri[];
|
||||
constexpr char RtpExtension::kFrameMarkingUri[];
|
||||
constexpr char RtpExtension::kGenericFrameDescriptorUri00[];
|
||||
constexpr char RtpExtension::kGenericFrameDescriptorUri01[];
|
||||
constexpr char RtpExtension::kDependencyDescriptorUri[];
|
||||
constexpr char RtpExtension::kTransportSequenceNumberUri[];
|
||||
constexpr char RtpExtension::kTransportSequenceNumberV2Uri[];
|
||||
constexpr char RtpExtension::kPlayoutDelayUri[];
|
||||
constexpr char RtpExtension::kColorSpaceUri[];
|
||||
constexpr char RtpExtension::kMidUri[];
|
||||
constexpr char RtpExtension::kRidUri[];
|
||||
constexpr char RtpExtension::kRepairedRidUri[];
|
||||
|
||||
constexpr int RtpExtension::kMinId;
|
||||
constexpr int RtpExtension::kMaxId;
|
||||
|
||||
@ -254,6 +254,7 @@ struct RTC_EXPORT RtpExtension {
|
||||
RtpExtension(std::string uri, int id);
|
||||
RtpExtension(std::string uri, int id, bool encrypt);
|
||||
~RtpExtension();
|
||||
|
||||
std::string ToString() const;
|
||||
bool operator==(const RtpExtension& rhs) const {
|
||||
return uri == rhs.uri && id == rhs.id && encrypt == rhs.encrypt;
|
||||
@ -275,66 +276,89 @@ struct RTC_EXPORT RtpExtension {
|
||||
static std::vector<RtpExtension> FilterDuplicateNonEncrypted(
|
||||
const std::vector<RtpExtension>& extensions);
|
||||
|
||||
// Encryption of Header Extensions, see RFC 6904 for details:
|
||||
// https://tools.ietf.org/html/rfc6904
|
||||
static constexpr char kEncryptHeaderExtensionsUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:encrypt";
|
||||
|
||||
// Header extension for audio levels, as defined in:
|
||||
// http://tools.ietf.org/html/draft-ietf-avtext-client-to-mixer-audio-level-03
|
||||
static const char kAudioLevelUri[];
|
||||
// https://tools.ietf.org/html/rfc6464
|
||||
static constexpr char kAudioLevelUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:ssrc-audio-level";
|
||||
|
||||
// Header extension for RTP timestamp offset, see RFC 5450 for details:
|
||||
// http://tools.ietf.org/html/rfc5450
|
||||
static const char kTimestampOffsetUri[];
|
||||
static constexpr char kTimestampOffsetUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:toffset";
|
||||
|
||||
// Header extension for absolute send time, see url for details:
|
||||
// http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
|
||||
static const char kAbsSendTimeUri[];
|
||||
static constexpr char kAbsSendTimeUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";
|
||||
|
||||
// Header extension for absolute capture time, see url for details:
|
||||
// http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time
|
||||
static const char kAbsoluteCaptureTimeUri[];
|
||||
static constexpr char kAbsoluteCaptureTimeUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time";
|
||||
|
||||
// Header extension for coordination of video orientation, see url for
|
||||
// details:
|
||||
// http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/ts_126114v120700p.pdf
|
||||
static const char kVideoRotationUri[];
|
||||
static constexpr char kVideoRotationUri[] = "urn:3gpp:video-orientation";
|
||||
|
||||
// Header extension for video content type. E.g. default or screenshare.
|
||||
static const char kVideoContentTypeUri[];
|
||||
static constexpr char kVideoContentTypeUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/video-content-type";
|
||||
|
||||
// Header extension for video timing.
|
||||
static const char kVideoTimingUri[];
|
||||
static constexpr char kVideoTimingUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/video-timing";
|
||||
|
||||
// Header extension for video frame marking.
|
||||
static const char kFrameMarkingUri[];
|
||||
static constexpr char kFrameMarkingUri[] =
|
||||
"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07";
|
||||
|
||||
// Experimental codec agnostic frame descriptor.
|
||||
static const char kGenericFrameDescriptorUri00[];
|
||||
static const char kGenericFrameDescriptorUri01[];
|
||||
static const char kDependencyDescriptorUri[];
|
||||
// TODO(bugs.webrtc.org/10243): Remove once dependencies have been updated.
|
||||
static const char kGenericFrameDescriptorUri[];
|
||||
static constexpr char kGenericFrameDescriptorUri00[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/"
|
||||
"generic-frame-descriptor-00";
|
||||
static constexpr char kGenericFrameDescriptorUri01[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/"
|
||||
"generic-frame-descriptor-01";
|
||||
static constexpr char kDependencyDescriptorUri[] =
|
||||
"https://aomediacodec.github.io/av1-rtp-spec/"
|
||||
"#dependency-descriptor-rtp-header-extension";
|
||||
|
||||
// Header extension for transport sequence number, see url for details:
|
||||
// http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions
|
||||
static const char kTransportSequenceNumberUri[];
|
||||
static const char kTransportSequenceNumberV2Uri[];
|
||||
static constexpr char kTransportSequenceNumberUri[] =
|
||||
"http://www.ietf.org/id/"
|
||||
"draft-holmer-rmcat-transport-wide-cc-extensions-01";
|
||||
static constexpr char kTransportSequenceNumberV2Uri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/transport-wide-cc-02";
|
||||
|
||||
static const char kPlayoutDelayUri[];
|
||||
// This extension allows applications to adaptively limit the playout delay
|
||||
// on frames as per the current needs. For example, a gaming application
|
||||
// has very different needs on end-to-end delay compared to a video-conference
|
||||
// application.
|
||||
static constexpr char kPlayoutDelayUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/playout-delay";
|
||||
|
||||
// Header extension for color space information.
|
||||
static constexpr char kColorSpaceUri[] =
|
||||
"http://www.webrtc.org/experiments/rtp-hdrext/color-space";
|
||||
|
||||
// Header extension for identifying media section within a transport.
|
||||
// https://tools.ietf.org/html/draft-ietf-mmusic-sdp-bundle-negotiation-49#section-15
|
||||
static const char kMidUri[];
|
||||
|
||||
// Encryption of Header Extensions, see RFC 6904 for details:
|
||||
// https://tools.ietf.org/html/rfc6904
|
||||
static const char kEncryptHeaderExtensionsUri[];
|
||||
|
||||
// Header extension for color space information.
|
||||
static const char kColorSpaceUri[];
|
||||
static constexpr char kMidUri[] = "urn:ietf:params:rtp-hdrext:sdes:mid";
|
||||
|
||||
// Header extension for RIDs and Repaired RIDs
|
||||
// https://tools.ietf.org/html/draft-ietf-avtext-rid-09
|
||||
// https://tools.ietf.org/html/draft-ietf-mmusic-rid-15
|
||||
static const char kRidUri[];
|
||||
static const char kRepairedRidUri[];
|
||||
static constexpr char kRidUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";
|
||||
static constexpr char kRepairedRidUri[] =
|
||||
"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";
|
||||
|
||||
// Inclusive min and max IDs for two-byte header extensions and one-byte
|
||||
// header extensions, per RFC8285 Section 4.2-4.3.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user