Introduce RtpPacket::GetExtension accessor that return result
instead of using output parameter.
Bug: None
Change-Id: I1d5c150b7cb6302aa29e040e8c9fe68bddfd8c0e
Reviewed-on: https://webrtc-review.googlesource.com/c/110240
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25565}
diff --git a/modules/rtp_rtcp/source/rtp_header_extensions.h b/modules/rtp_rtcp/source/rtp_header_extensions.h
index cd01c1a..808356a 100644
--- a/modules/rtp_rtcp/source/rtp_header_extensions.h
+++ b/modules/rtp_rtcp/source/rtp_header_extensions.h
@@ -27,6 +27,7 @@
class AbsoluteSendTime {
public:
+ using value_type = uint32_t;
static constexpr RTPExtensionType kId = kRtpExtensionAbsoluteSendTime;
static constexpr uint8_t kValueSizeBytes = 3;
static constexpr const char kUri[] =
@@ -61,6 +62,7 @@
class TransmissionOffset {
public:
+ 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";
@@ -72,6 +74,7 @@
class TransportSequenceNumber {
public:
+ using value_type = uint16_t;
static constexpr RTPExtensionType kId = kRtpExtensionTransportSequenceNumber;
static constexpr uint8_t kValueSizeBytes = 2;
static constexpr const char kUri[] =
@@ -84,6 +87,7 @@
class VideoOrientation {
public:
+ using value_type = VideoRotation;
static constexpr RTPExtensionType kId = kRtpExtensionVideoRotation;
static constexpr uint8_t kValueSizeBytes = 1;
static constexpr const char kUri[] = "urn:3gpp:video-orientation";
@@ -98,6 +102,7 @@
class PlayoutDelayLimits {
public:
+ using value_type = PlayoutDelay;
static constexpr RTPExtensionType kId = kRtpExtensionPlayoutDelay;
static constexpr uint8_t kValueSizeBytes = 3;
static constexpr const char kUri[] =
@@ -121,6 +126,7 @@
class VideoContentTypeExtension {
public:
+ using value_type = VideoContentType;
static constexpr RTPExtensionType kId = kRtpExtensionVideoContentType;
static constexpr uint8_t kValueSizeBytes = 1;
static constexpr const char kUri[] =
@@ -137,6 +143,7 @@
class VideoTimingExtension {
public:
+ using value_type = VideoSendTiming;
static constexpr RTPExtensionType kId = kRtpExtensionVideoTiming;
static constexpr uint8_t kValueSizeBytes = 13;
static constexpr const char kUri[] =
@@ -159,6 +166,7 @@
class FrameMarkingExtension {
public:
+ using value_type = FrameMarking;
static constexpr RTPExtensionType kId = kRtpExtensionFrameMarking;
static constexpr const char kUri[] =
"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07";
@@ -177,6 +185,7 @@
// Subclasses must defined kId and kUri static constexpr members.
class BaseRtpStringExtension {
public:
+ using value_type = std::string;
// String RTP header extensions are limited to 16 bytes because it is the
// maximum length that can be encoded with one-byte header extensions.
static constexpr uint8_t kMaxValueSizeBytes = 16;