Introduce new enum name for the dependency descriptor extension
Dependency descriptor has finalized spec and thus deserve a dedicated name.
Bug: webrtc:10342
Change-Id: I2c2f1d52c82cfff8372cd4092dfcc47a083a6009
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290402
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38973}
diff --git a/modules/rtp_rtcp/include/rtp_rtcp_defines.h b/modules/rtp_rtcp/include/rtp_rtcp_defines.h
index 1f28048..43bba3e 100644
--- a/modules/rtp_rtcp/include/rtp_rtcp_defines.h
+++ b/modules/rtp_rtcp/include/rtp_rtcp_defines.h
@@ -72,9 +72,12 @@
kRtpExtensionRtpStreamId,
kRtpExtensionRepairedRtpStreamId,
kRtpExtensionMid,
- kRtpExtensionGenericFrameDescriptor00,
- kRtpExtensionGenericFrameDescriptor = kRtpExtensionGenericFrameDescriptor00,
- kRtpExtensionGenericFrameDescriptor02,
+ kRtpExtensionGenericFrameDescriptor,
+ kRtpExtensionGenericFrameDescriptor00 [[deprecated]] =
+ kRtpExtensionGenericFrameDescriptor,
+ kRtpExtensionDependencyDescriptor,
+ kRtpExtensionGenericFrameDescriptor02 [[deprecated]] =
+ kRtpExtensionDependencyDescriptor,
kRtpExtensionColorSpace,
kRtpExtensionVideoFrameTrackingId,
kRtpExtensionNumberOfExtensions // Must be the last entity in the enum.
diff --git a/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h b/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h
index a2aedb8..8d6e4b8 100644
--- a/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h
+++ b/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h
@@ -22,11 +22,9 @@
namespace webrtc {
// Trait to read/write the dependency descriptor extension as described in
// https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension
-// While the format is still in design, the code might change without backward
-// compatibility.
class RtpDependencyDescriptorExtension {
public:
- static constexpr RTPExtensionType kId = kRtpExtensionGenericFrameDescriptor02;
+ static constexpr RTPExtensionType kId = kRtpExtensionDependencyDescriptor;
static constexpr absl::string_view Uri() {
return RtpExtension::kDependencyDescriptorUri;
}
diff --git a/modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.h b/modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.h
index 93ca690..b4f6865 100644
--- a/modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.h
+++ b/modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.h
@@ -21,10 +21,13 @@
namespace webrtc {
+// Trait to read/write the generic frame descriptor, the early version of the
+// dependency descriptor extension. Usage of this rtp header extension is
+// discouraged in favor of the dependency descriptor.
class RtpGenericFrameDescriptorExtension00 {
public:
using value_type = RtpGenericFrameDescriptor;
- static constexpr RTPExtensionType kId = kRtpExtensionGenericFrameDescriptor00;
+ static constexpr RTPExtensionType kId = kRtpExtensionGenericFrameDescriptor;
static constexpr absl::string_view Uri() {
return RtpExtension::kGenericFrameDescriptorUri00;
}
diff --git a/modules/rtp_rtcp/source/rtp_packet.cc b/modules/rtp_rtcp/source/rtp_packet.cc
index e26cec5..8166de8 100644
--- a/modules/rtp_rtcp/source/rtp_packet.cc
+++ b/modules/rtp_rtcp/source/rtp_packet.cc
@@ -188,8 +188,8 @@
case RTPExtensionType::kRtpExtensionCsrcAudioLevel:
case RTPExtensionType::kRtpExtensionAbsoluteCaptureTime:
case RTPExtensionType::kRtpExtensionColorSpace:
- case RTPExtensionType::kRtpExtensionGenericFrameDescriptor00:
- case RTPExtensionType::kRtpExtensionGenericFrameDescriptor02:
+ case RTPExtensionType::kRtpExtensionGenericFrameDescriptor:
+ case RTPExtensionType::kRtpExtensionDependencyDescriptor:
case RTPExtensionType::kRtpExtensionMid:
case RTPExtensionType::kRtpExtensionNumberOfExtensions:
case RTPExtensionType::kRtpExtensionPlayoutDelay:
diff --git a/modules/rtp_rtcp/source/rtp_packet_unittest.cc b/modules/rtp_rtcp/source/rtp_packet_unittest.cc
index ba5e4e6..8a82e98 100644
--- a/modules/rtp_rtcp/source/rtp_packet_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_packet_unittest.cc
@@ -855,7 +855,7 @@
UncopyableValue& operator=(const UncopyableValue&) = delete;
};
struct UncopyableExtension {
- static constexpr RTPExtensionType kId = kRtpExtensionGenericFrameDescriptor02;
+ static constexpr RTPExtensionType kId = kRtpExtensionDependencyDescriptor;
static constexpr absl::string_view Uri() { return "uri"; }
static size_t ValueSize(const UncopyableValue& value) { return 1; }
@@ -868,7 +868,6 @@
return true;
}
};
-constexpr RTPExtensionType UncopyableExtension::kId;
TEST(RtpPacketTest, SetUncopyableExtension) {
RtpPacket::ExtensionManager extensions;
diff --git a/modules/rtp_rtcp/source/rtp_sender.cc b/modules/rtp_rtcp/source/rtp_sender.cc
index b057d6d..ac3bd55 100644
--- a/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/modules/rtp_rtcp/source/rtp_sender.cc
@@ -115,8 +115,8 @@
case kRtpExtensionRtpStreamId:
case kRtpExtensionRepairedRtpStreamId:
case kRtpExtensionMid:
- case kRtpExtensionGenericFrameDescriptor00:
- case kRtpExtensionGenericFrameDescriptor02:
+ case kRtpExtensionGenericFrameDescriptor:
+ case kRtpExtensionDependencyDescriptor:
return true;
case kRtpExtensionInbandComfortNoise:
case kRtpExtensionAbsoluteCaptureTime:
diff --git a/test/fuzzers/rtp_packet_fuzzer.cc b/test/fuzzers/rtp_packet_fuzzer.cc
index 5d56eb1..60afb98 100644
--- a/test/fuzzers/rtp_packet_fuzzer.cc
+++ b/test/fuzzers/rtp_packet_fuzzer.cc
@@ -135,7 +135,7 @@
packet.GetExtension<RtpMid>(&mid);
break;
}
- case kRtpExtensionGenericFrameDescriptor00: {
+ case kRtpExtensionGenericFrameDescriptor: {
RtpGenericFrameDescriptor descriptor;
packet.GetExtension<RtpGenericFrameDescriptorExtension00>(&descriptor);
break;
@@ -160,7 +160,7 @@
packet.GetExtension<VideoFrameTrackingIdExtension>(&tracking_id);
break;
}
- case kRtpExtensionGenericFrameDescriptor02:
+ case kRtpExtensionDependencyDescriptor:
// This extension requires state to read and so complicated that
// deserves own fuzzer.
break;