Remove extra trait to read only mandatory part of the dependency descriptor

Same can be achieved by having multiple Parse functions in the same
RtpDependencyDescriptorExtension trait

Bug: None
Change-Id: I4eab0001d1ffff631a9d70fafde13e51f5c6ce36
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/340320
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41786}
diff --git a/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.cc b/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.cc
index 27b0420..5d61e66 100644
--- a/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.cc
+++ b/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.cc
@@ -52,7 +52,7 @@
   return writer.Write();
 }
 
-bool RtpDependencyDescriptorExtensionMandatory::Parse(
+bool RtpDependencyDescriptorExtension::Parse(
     rtc::ArrayView<const uint8_t> data,
     DependencyDescriptorMandatory* descriptor) {
   if (data.size() < 3) {
diff --git a/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h b/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h
index a3e4159..93498fb 100644
--- a/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h
+++ b/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h
@@ -33,6 +33,11 @@
                     const FrameDependencyStructure* structure,
                     DependencyDescriptor* descriptor);
 
+  // Reads the mandatory part of the descriptor.
+  // Such read is stateless, i.e., doesn't require `FrameDependencyStructure`.
+  static bool Parse(rtc::ArrayView<const uint8_t> data,
+                    DependencyDescriptorMandatory* descriptor);
+
   static size_t ValueSize(const FrameDependencyStructure& structure,
                           const DependencyDescriptor& descriptor) {
     return ValueSize(structure, kAllChainsAreActive, descriptor);
@@ -54,16 +59,6 @@
   static constexpr std::bitset<32> kAllChainsAreActive = ~uint32_t{0};
 };
 
-// Trait to only read the mandatory part of the descriptor.
-class RtpDependencyDescriptorExtensionMandatory {
- public:
-  static constexpr webrtc::RTPExtensionType kId =
-      webrtc::RtpDependencyDescriptorExtension::kId;
-
-  static bool Parse(rtc::ArrayView<const uint8_t> data,
-                    DependencyDescriptorMandatory* descriptor);
-};
-
 }  // namespace webrtc
 
 #endif  // MODULES_RTP_RTCP_SOURCE_RTP_DEPENDENCY_DESCRIPTOR_EXTENSION_H_
diff --git a/video/rtp_video_stream_receiver2.cc b/video/rtp_video_stream_receiver2.cc
index 624f699..6b41acc 100644
--- a/video/rtp_video_stream_receiver2.cc
+++ b/video/rtp_video_stream_receiver2.cc
@@ -432,7 +432,7 @@
     RTPVideoHeader* video_header) {
   RTC_DCHECK_RUN_ON(&packet_sequence_checker_);
   if (DependencyDescriptorMandatory dd_mandatory;
-      rtp_packet.GetExtension<RtpDependencyDescriptorExtensionMandatory>(
+      rtp_packet.GetExtension<RtpDependencyDescriptorExtension>(
           &dd_mandatory)) {
     const int64_t frame_id =
         frame_id_unwrapper_.Unwrap(dd_mandatory.frame_number());