diff --git a/api/rtp_parameters.cc b/api/rtp_parameters.cc index 283d238e77..c919f7c1dd 100644 --- a/api/rtp_parameters.cc +++ b/api/rtp_parameters.cc @@ -149,6 +149,7 @@ constexpr char RtpExtension::kRidUri[]; constexpr char RtpExtension::kRepairedRidUri[]; constexpr char RtpExtension::kVideoFrameTrackingIdUri[]; constexpr char RtpExtension::kCsrcAudioLevelsUri[]; +constexpr char RtpExtension::kCorruptionDetectionUri[]; constexpr int RtpExtension::kMinId; constexpr int RtpExtension::kMaxId; @@ -184,7 +185,8 @@ bool RtpExtension::IsSupportedForVideo(absl::string_view uri) { uri == webrtc::RtpExtension::kRidUri || uri == webrtc::RtpExtension::kRepairedRidUri || uri == webrtc::RtpExtension::kVideoLayersAllocationUri || - uri == webrtc::RtpExtension::kVideoFrameTrackingIdUri; + uri == webrtc::RtpExtension::kVideoFrameTrackingIdUri || + uri == webrtc::RtpExtension::kCorruptionDetectionUri; } bool RtpExtension::IsEncryptionSupported(absl::string_view uri) { diff --git a/api/rtp_parameters.h b/api/rtp_parameters.h index 025817cf37..70d7686704 100644 --- a/api/rtp_parameters.h +++ b/api/rtp_parameters.h @@ -377,6 +377,10 @@ struct RTC_EXPORT RtpExtension { static constexpr char kCsrcAudioLevelsUri[] = "urn:ietf:params:rtp-hdrext:csrc-audio-level"; + // Header extension for automatic corruption detection. + static constexpr char kCorruptionDetectionUri[] = + "http://www.webrtc.org/experiments/rtp-hdrext/corruption-detection"; + // Inclusive min and max IDs for two-byte header extensions and one-byte // header extensions, per RFC8285 Section 4.2-4.3. static constexpr int kMinId = 1; diff --git a/modules/rtp_rtcp/source/corruption_detection_extension.h b/modules/rtp_rtcp/source/corruption_detection_extension.h index 66bde1af2b..63e770dd61 100644 --- a/modules/rtp_rtcp/source/corruption_detection_extension.h +++ b/modules/rtp_rtcp/source/corruption_detection_extension.h @@ -16,6 +16,7 @@ #include "absl/strings/string_view.h" #include "api/array_view.h" +#include "api/rtp_parameters.h" #include "common_video/corruption_detection_message.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" @@ -33,10 +34,10 @@ class CorruptionDetectionExtension { static constexpr RTPExtensionType kId = kRtpExtensionCorruptionDetection; static constexpr uint8_t kMaxValueSizeBytes = 16; - static constexpr char kCorruptionDetectionUri[] = - "http://www.webrtc.org/experiments/rtp-hdrext/corruption-detection"; - static constexpr absl::string_view Uri() { return kCorruptionDetectionUri; } + static constexpr absl::string_view Uri() { + return RtpExtension::kCorruptionDetectionUri; + } static bool Parse(rtc::ArrayView data, CorruptionDetectionMessage* message); static bool Write(rtc::ArrayView data,