Change HdrMetadataExtension to ColorSpaceExtension

Bug: webrtc:8651
Change-Id: Ica6f8c6bd13bb07f89700b9c0a359b9a58feefbb
Reviewed-on: https://webrtc-review.googlesource.com/c/111758
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25800}
diff --git a/modules/rtp_rtcp/source/rtp_header_extensions.h b/modules/rtp_rtcp/source/rtp_header_extensions.h
index ba43415..42a6216 100644
--- a/modules/rtp_rtcp/source/rtp_header_extensions.h
+++ b/modules/rtp_rtcp/source/rtp_header_extensions.h
@@ -16,7 +16,7 @@
 
 #include "api/array_view.h"
 #include "api/rtp_headers.h"
-#include "api/video/hdr_metadata.h"
+#include "api/video/color_space.h"
 #include "api/video/video_content_type.h"
 #include "api/video/video_frame_marking.h"
 #include "api/video/video_rotation.h"
@@ -182,19 +182,23 @@
   static bool IsScalable(uint8_t temporal_id, uint8_t layer_id);
 };
 
-class HdrMetadataExtension {
+class ColorSpaceExtension {
  public:
-  using value_type = HdrMetadata;
-  static constexpr RTPExtensionType kId = kRtpExtensionHdrMetadata;
+  using value_type = ColorSpace;
+  static constexpr RTPExtensionType kId = kRtpExtensionColorSpace;
   static constexpr uint8_t kValueSizeBytes = 30;
+  static constexpr uint8_t kValueSizeBytesWithoutHdrMetadata = 4;
   // TODO(webrtc:8651): Change to a valid uri.
-  static constexpr const char kUri[] = "rtp-hdr-metadata-uri-placeholder";
+  static constexpr const char kUri[] = "rtp-colorspace-uri-placeholder";
 
   static bool Parse(rtc::ArrayView<const uint8_t> data,
-                    HdrMetadata* hdr_metadata);
-  static size_t ValueSize(const HdrMetadata&) { return kValueSizeBytes; }
+                    ColorSpace* color_space);
+  static size_t ValueSize(const ColorSpace& color_space) {
+    return color_space.hdr_metadata() ? kValueSizeBytes
+                                      : kValueSizeBytesWithoutHdrMetadata;
+  }
   static bool Write(rtc::ArrayView<uint8_t> data,
-                    const HdrMetadata& hdr_metadata);
+                    const ColorSpace& color_space);
 
  private:
   static constexpr int kChromaticityDenominator = 10000;  // 0.0001 resolution.