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 543688c75e8c91ec36006ce8026b7c6e8e0ca7a9..ff6dd8f526120b7608573e825985809f37f85f1c 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h |
@@ -11,6 +11,7 @@ |
#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_HEADER_EXTENSIONS_H_ |
#include <stdint.h> |
+#include <string> |
#include "webrtc/api/video/video_rotation.h" |
#include "webrtc/base/array_view.h" |
@@ -98,5 +99,31 @@ class PlayoutDelayLimits { |
static bool Write(uint8_t* data, const PlayoutDelay& playout_delay); |
}; |
+class RtpStreamId { |
+ public: |
+ static constexpr RTPExtensionType kId = kRtpExtensionRtpStreamId; |
+ // TODO(danilchap): Implement write support of dynamic size extension that |
+ // allows to remove the ValueSize constant. |
+ static constexpr uint8_t kValueSizeBytes = 1; |
+ 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); |
+}; |
+ |
+class RepairedRtpStreamId { |
+ public: |
+ static constexpr RTPExtensionType kId = kRtpExtensionRepairedRtpStreamId; |
+ // TODO(danilchap): Implement write support of dynamic size extension that |
+ // allows to remove the ValueSize constant. |
+ static constexpr uint8_t kValueSizeBytes = 1; |
+ 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); |
+}; |
+ |
} // namespace webrtc |
#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_HEADER_EXTENSIONS_H_ |