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 a1f69dd0f962cdc875d2e8b14704ec3eee8dad35..0491a8076c814d3833358d50759e09c40253ab42 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h |
@@ -15,6 +15,7 @@ |
#include "webrtc/api/video/video_content_type.h" |
#include "webrtc/api/video/video_rotation.h" |
+#include "webrtc/api/video/video_timing.h" |
#include "webrtc/base/array_view.h" |
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" |
@@ -126,6 +127,23 @@ class VideoContentTypeExtension { |
static bool Write(uint8_t* data, VideoContentType content_type); |
}; |
+class VideoTimingExtension { |
+ public: |
+ static constexpr RTPExtensionType kId = kRtpExtensionVideoTiming; |
+ static constexpr uint8_t kValueSizeBytes = 10; |
+ static constexpr const char* kUri = |
+ "http://www.webrtc.org/experiments/rtp-hdrext/video-timing"; |
+ |
+ static bool Parse(rtc::ArrayView<const uint8_t> data, VideoTiming* timing); |
+ static size_t ValueSize(VideoTiming) { return kValueSizeBytes; } |
+ static size_t ValueSize(uint16_t delta_ms, uint8_t idx) { |
+ return kValueSizeBytes; |
+ } |
+ static bool Write(uint8_t* data, const VideoTiming& timing); |
+ // Writes only single time delta to position idx. |
+ static bool Write(uint8_t* data, uint16_t time_delta_ms, uint8_t idx); |
+}; |
+ |
class RtpStreamId { |
public: |
static constexpr RTPExtensionType kId = kRtpExtensionRtpStreamId; |