| Index: webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h
|
| diff --git a/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h
|
| index c60f29050d5244fc6ea88d8648c7fd1c9762d56e..df68b21735b2f3c3815f139198b440823aae47fc 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h
|
| @@ -28,6 +28,7 @@ class AbsoluteSendTime {
|
| "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";
|
|
|
| static bool Parse(rtc::ArrayView<const uint8_t> data, uint32_t* time_24bits);
|
| + static size_t ValueSize(int64_t time_ms) { return kValueSizeBytes; }
|
| static bool Write(uint8_t* data, int64_t time_ms);
|
|
|
| static constexpr uint32_t MsTo24Bits(int64_t time_ms) {
|
| @@ -45,6 +46,9 @@ class AudioLevel {
|
| static bool Parse(rtc::ArrayView<const uint8_t> data,
|
| bool* voice_activity,
|
| uint8_t* audio_level);
|
| + static size_t ValueSize(bool voice_activity, uint8_t audio_level) {
|
| + return kValueSizeBytes;
|
| + }
|
| static bool Write(uint8_t* data, bool voice_activity, uint8_t audio_level);
|
| };
|
|
|
| @@ -55,6 +59,7 @@ class TransmissionOffset {
|
| static constexpr const char* kUri = "urn:ietf:params:rtp-hdrext:toffset";
|
|
|
| static bool Parse(rtc::ArrayView<const uint8_t> data, int32_t* rtp_time);
|
| + static size_t ValueSize(int32_t rtp_time) { return kValueSizeBytes; }
|
| static bool Write(uint8_t* data, int32_t rtp_time);
|
| };
|
|
|
| @@ -66,6 +71,7 @@ class TransportSequenceNumber {
|
| "http://www.ietf.org/id/"
|
| "draft-holmer-rmcat-transport-wide-cc-extensions-01";
|
| static bool Parse(rtc::ArrayView<const uint8_t> data, uint16_t* value);
|
| + static size_t ValueSize(uint16_t value) { return kValueSizeBytes; }
|
| static bool Write(uint8_t* data, uint16_t value);
|
| };
|
|
|
| @@ -76,8 +82,10 @@ class VideoOrientation {
|
| static constexpr const char* kUri = "urn:3gpp:video-orientation";
|
|
|
| static bool Parse(rtc::ArrayView<const uint8_t> data, VideoRotation* value);
|
| + static size_t ValueSize(VideoRotation) { return kValueSizeBytes; }
|
| static bool Write(uint8_t* data, VideoRotation value);
|
| static bool Parse(rtc::ArrayView<const uint8_t> data, uint8_t* value);
|
| + static size_t ValueSize(uint8_t value) { return kValueSizeBytes; }
|
| static bool Write(uint8_t* data, uint8_t value);
|
| };
|
|
|
| @@ -97,6 +105,9 @@ class PlayoutDelayLimits {
|
|
|
| static bool Parse(rtc::ArrayView<const uint8_t> data,
|
| PlayoutDelay* playout_delay);
|
| + static size_t ValueSize(const PlayoutDelay&) {
|
| + return kValueSizeBytes;
|
| + }
|
| static bool Write(uint8_t* data, const PlayoutDelay& playout_delay);
|
| };
|
|
|
| @@ -109,6 +120,9 @@ class VideoContentTypeExtension {
|
|
|
| static bool Parse(rtc::ArrayView<const uint8_t> data,
|
| VideoContentType* content_type);
|
| + static size_t ValueSize(VideoContentType) {
|
| + return kValueSizeBytes;
|
| + }
|
| static bool Write(uint8_t* data, VideoContentType content_type);
|
| };
|
|
|
| @@ -121,8 +135,13 @@ class RtpStreamId {
|
| static constexpr const char* kUri =
|
| "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";
|
|
|
| - static bool Parse(rtc::ArrayView<const uint8_t> data, StreamId* rid);
|
| - static bool Parse(rtc::ArrayView<const uint8_t> data, std::string* rid);
|
| + static bool Parse(rtc::ArrayView<const uint8_t> data, StreamId* rsid);
|
| + static size_t ValueSize(const StreamId& rsid) { return rsid.size(); }
|
| + static bool Write(uint8_t* data, const StreamId& rsid);
|
| +
|
| + static bool Parse(rtc::ArrayView<const uint8_t> data, std::string* rsid);
|
| + static size_t ValueSize(const std::string& rsid) { return rsid.size(); }
|
| + static bool Write(uint8_t* data, const std::string& rsid);
|
| };
|
|
|
| class RepairedRtpStreamId {
|
| @@ -134,8 +153,13 @@ class RepairedRtpStreamId {
|
| static constexpr const char* kUri =
|
| "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";
|
|
|
| - static bool Parse(rtc::ArrayView<const uint8_t> data, StreamId* rid);
|
| - static bool Parse(rtc::ArrayView<const uint8_t> data, std::string* rid);
|
| + static bool Parse(rtc::ArrayView<const uint8_t> data, StreamId* rsid);
|
| + static size_t ValueSize(const StreamId& rsid);
|
| + static bool Write(uint8_t* data, const StreamId& rsid);
|
| +
|
| + static bool Parse(rtc::ArrayView<const uint8_t> data, std::string* rsid);
|
| + static size_t ValueSize(const std::string& rsid);
|
| + static bool Write(uint8_t* data, const std::string& rsid);
|
| };
|
|
|
| } // namespace webrtc
|
|
|