Fix includes in rtp_header_extensions.cc

Remove unused includes, including a TODO that is now irrelevant
Add missing includes
Remove definitinon for constexpr class constants as not needed since c++17 to avoid adding include for RTPExtensionType

Bug: webrtc:10198
Change-Id: I5f0ed15c5a9020d8b2e58bdfa213bb38eb59a840
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/317443
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40611}
diff --git a/modules/rtp_rtcp/source/rtp_header_extensions.cc b/modules/rtp_rtcp/source/rtp_header_extensions.cc
index 75e3e3c..4745b10 100644
--- a/modules/rtp_rtcp/source/rtp_header_extensions.cc
+++ b/modules/rtp_rtcp/source/rtp_header_extensions.cc
@@ -13,15 +13,23 @@
 #include <string.h>
 
 #include <cmath>
+#include <cstddef>
 #include <cstdint>
 #include <limits>
+#include <string>
+#include <vector>
 
 #include "absl/strings/string_view.h"
+#include "absl/types/optional.h"
+#include "api/array_view.h"
+#include "api/rtp_headers.h"
+#include "api/video/color_space.h"
+#include "api/video/hdr_metadata.h"
+#include "api/video/video_content_type.h"
+#include "api/video/video_rotation.h"
+#include "api/video/video_timing.h"
 #include "modules/rtp_rtcp/include/rtp_cvo.h"
 #include "modules/rtp_rtcp/source/byte_io.h"
-// TODO(bug:9855) Move kNoSpatialIdx from vp9_globals.h to common_constants
-#include "modules/video_coding/codecs/interface/common_constants.h"
-#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
 #include "rtc_base/checks.h"
 
 namespace webrtc {
@@ -40,9 +48,6 @@
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //   |  ID   | len=2 |              absolute send time               |
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-constexpr RTPExtensionType AbsoluteSendTime::kId;
-constexpr uint8_t AbsoluteSendTime::kValueSizeBytes;
-
 bool AbsoluteSendTime::Parse(rtc::ArrayView<const uint8_t> data,
                              uint32_t* time_24bits) {
   if (data.size() != 3)
@@ -94,11 +99,6 @@
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //   |  ... (56-63)  |
 //   +-+-+-+-+-+-+-+-+
-constexpr RTPExtensionType AbsoluteCaptureTimeExtension::kId;
-constexpr uint8_t AbsoluteCaptureTimeExtension::kValueSizeBytes;
-constexpr uint8_t AbsoluteCaptureTimeExtension::
-    kValueSizeBytesWithoutEstimatedCaptureClockOffset;
-
 bool AbsoluteCaptureTimeExtension::Parse(rtc::ArrayView<const uint8_t> data,
                                          AbsoluteCaptureTime* extension) {
   if (data.size() != kValueSizeBytes &&
@@ -160,10 +160,6 @@
 // |      ID       |     len=1     |V|    level    |
 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 // Sample Audio Level Encoding Using the Two-Byte Header Format
-
-constexpr RTPExtensionType AudioLevel::kId;
-constexpr uint8_t AudioLevel::kValueSizeBytes;
-
 bool AudioLevel::Parse(rtc::ArrayView<const uint8_t> data,
                        bool* voice_activity,
                        uint8_t* audio_level) {
@@ -206,9 +202,6 @@
 // |0|   level 3   |    0 (pad)    |               ...             |
 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 // Sample Audio Level Encoding Using the Two-Byte Header Format
-constexpr RTPExtensionType CsrcAudioLevel::kId;
-constexpr uint8_t CsrcAudioLevel::kMaxValueSizeBytes;
-
 bool CsrcAudioLevel::Parse(rtc::ArrayView<const uint8_t> data,
                            std::vector<uint8_t>* csrc_audio_levels) {
   if (data.size() > kRtpCsrcSize) {
@@ -254,9 +247,6 @@
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //   |  ID   | len=2 |              transmission offset              |
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-constexpr RTPExtensionType TransmissionOffset::kId;
-constexpr uint8_t TransmissionOffset::kValueSizeBytes;
-
 bool TransmissionOffset::Parse(rtc::ArrayView<const uint8_t> data,
                                int32_t* rtp_time) {
   if (data.size() != 3)
@@ -279,9 +269,6 @@
 //  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //  |  ID   | L=1   |transport-wide sequence number |
 //  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-constexpr RTPExtensionType TransportSequenceNumber::kId;
-constexpr uint8_t TransportSequenceNumber::kValueSizeBytes;
-
 bool TransportSequenceNumber::Parse(rtc::ArrayView<const uint8_t> data,
                                     uint16_t* transport_sequence_number) {
   if (data.size() != kValueSizeBytes)
@@ -314,12 +301,6 @@
 // or not and `seq_count` determines how many packets the feedback packet should
 // cover including the current packet. If `seq_count` is zero no feedback is
 // requested.
-constexpr RTPExtensionType TransportSequenceNumberV2::kId;
-constexpr uint8_t TransportSequenceNumberV2::kValueSizeBytes;
-constexpr uint8_t
-    TransportSequenceNumberV2::kValueSizeBytesWithoutFeedbackRequest;
-constexpr uint16_t TransportSequenceNumberV2::kIncludeTimestampsBit;
-
 bool TransportSequenceNumberV2::Parse(
     rtc::ArrayView<const uint8_t> data,
     uint16_t* transport_sequence_number,
@@ -377,9 +358,6 @@
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //   |  ID   | len=0 |0 0 0 0 C F R R|
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-constexpr RTPExtensionType VideoOrientation::kId;
-constexpr uint8_t VideoOrientation::kValueSizeBytes;
-
 bool VideoOrientation::Parse(rtc::ArrayView<const uint8_t> data,
                              VideoRotation* rotation) {
   if (data.size() != 1)
@@ -414,9 +392,6 @@
 //  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //  |  ID   | len=2 |   MIN delay           |   MAX delay           |
 //  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-constexpr RTPExtensionType PlayoutDelayLimits::kId;
-constexpr uint8_t PlayoutDelayLimits::kValueSizeBytes;
-
 bool PlayoutDelayLimits::Parse(rtc::ArrayView<const uint8_t> data,
                                VideoPlayoutDelay* playout_delay) {
   RTC_DCHECK(playout_delay);
@@ -455,9 +430,6 @@
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //   |  ID   | len=0 | Content type  |
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-constexpr RTPExtensionType VideoContentTypeExtension::kId;
-constexpr uint8_t VideoContentTypeExtension::kValueSizeBytes;
-
 bool VideoContentTypeExtension::Parse(rtc::ArrayView<const uint8_t> data,
                                       VideoContentType* content_type) {
   if (data.size() == 1 &&
@@ -500,17 +472,6 @@
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //   |  network2 timestamp ms delta  |
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
-constexpr RTPExtensionType VideoTimingExtension::kId;
-constexpr uint8_t VideoTimingExtension::kValueSizeBytes;
-constexpr uint8_t VideoTimingExtension::kFlagsOffset;
-constexpr uint8_t VideoTimingExtension::kEncodeStartDeltaOffset;
-constexpr uint8_t VideoTimingExtension::kEncodeFinishDeltaOffset;
-constexpr uint8_t VideoTimingExtension::kPacketizationFinishDeltaOffset;
-constexpr uint8_t VideoTimingExtension::kPacerExitDeltaOffset;
-constexpr uint8_t VideoTimingExtension::kNetworkTimestampDeltaOffset;
-constexpr uint8_t VideoTimingExtension::kNetwork2TimestampDeltaOffset;
-
 bool VideoTimingExtension::Parse(rtc::ArrayView<const uint8_t> data,
                                  VideoSendTiming* timing) {
   RTC_DCHECK(timing);
@@ -609,10 +570,6 @@
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //   |range+chr.sit. |
 //   +-+-+-+-+-+-+-+-+
-
-constexpr RTPExtensionType ColorSpaceExtension::kId;
-constexpr uint8_t ColorSpaceExtension::kValueSizeBytes;
-
 bool ColorSpaceExtension::Parse(rtc::ArrayView<const uint8_t> data,
                                 ColorSpace* color_space) {
   RTC_DCHECK(color_space);
@@ -815,11 +772,6 @@
   return true;
 }
 
-// Constant declarations for RTP header extension types.
-constexpr RTPExtensionType RtpStreamId::kId;
-constexpr RTPExtensionType RepairedRtpStreamId::kId;
-constexpr RTPExtensionType RtpMid::kId;
-
 // An RTP Header Extension for Inband Comfort Noise
 //
 // The form of the audio level extension block:
@@ -837,11 +789,6 @@
 // |      ID       |     len=1     |N|    level    |
 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 // Sample Audio Level Encoding Using the Two-Byte Header Format
-
-constexpr RTPExtensionType InbandComfortNoiseExtension::kId;
-constexpr uint8_t InbandComfortNoiseExtension::kValueSizeBytes;
-constexpr const char InbandComfortNoiseExtension::kUri[];
-
 bool InbandComfortNoiseExtension::Parse(rtc::ArrayView<const uint8_t> data,
                                         absl::optional<uint8_t>* level) {
   if (data.size() != kValueSizeBytes)
@@ -872,10 +819,6 @@
 //  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //  |  ID   | L=1   |    video-frame-tracking-id    |
 //  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
-constexpr RTPExtensionType VideoFrameTrackingIdExtension::kId;
-constexpr uint8_t VideoFrameTrackingIdExtension::kValueSizeBytes;
-
 bool VideoFrameTrackingIdExtension::Parse(rtc::ArrayView<const uint8_t> data,
                                           uint16_t* video_frame_tracking_id) {
   if (data.size() != kValueSizeBytes) {