Declare corruption detection URI in RtpExtension

R=sprang@webrtc.org

Bug: webrtc:358039777
Change-Id: I9c66794b8a622bef5505f3a4a7252a0e7a989813
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360760
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42887}
This commit is contained in:
Fanny Linderborg 2024-08-28 09:46:46 +02:00 committed by WebRTC LUCI CQ
parent 058c0059c8
commit 2f91bdceee
3 changed files with 11 additions and 4 deletions

View File

@ -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) {

View File

@ -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;

View File

@ -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<const uint8_t> data,
CorruptionDetectionMessage* message);
static bool Write(rtc::ArrayView<uint8_t> data,