diff --git a/jicofo-common/src/main/kotlin/org/jitsi/jicofo/codec/CodecConfig.kt b/jicofo-common/src/main/kotlin/org/jitsi/jicofo/codec/CodecConfig.kt index a934f0313c..314fdb1ce1 100644 --- a/jicofo-common/src/main/kotlin/org/jitsi/jicofo/codec/CodecConfig.kt +++ b/jicofo-common/src/main/kotlin/org/jitsi/jicofo/codec/CodecConfig.kt @@ -139,6 +139,9 @@ class Config { val av1DependencyDescriptor: RtpExtensionConfig = RtpExtensionConfig("jicofo.codec.rtp-extensions.av1-dependency-descriptor") + val videoLayersAllocation: RtpExtensionConfig = + RtpExtensionConfig("jicofo.codec.rtp-extensions.video-layers-allocation") + @JvmField val tof: RtpExtensionConfig = RtpExtensionConfigWithLegacy("$LEGACY_BASE.ENABLE_TOF", "jicofo.codec.rtp-extensions.tof") diff --git a/jicofo-common/src/main/kotlin/org/jitsi/jicofo/codec/CodecUtil.kt b/jicofo-common/src/main/kotlin/org/jitsi/jicofo/codec/CodecUtil.kt index f33a378c60..c9c98e629f 100644 --- a/jicofo-common/src/main/kotlin/org/jitsi/jicofo/codec/CodecUtil.kt +++ b/jicofo-common/src/main/kotlin/org/jitsi/jicofo/codec/CodecUtil.kt @@ -206,6 +206,15 @@ class CodecUtil { fun createVideoRtpHdrExtExtensions( options: OfferOptions = OfferOptions() ): Collection = buildList { + if (config.videoLayersAllocation.enabled) { + // a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/video-layers-allocation00 + add( + RTPHdrExtPacketExtension().apply { + id = config.videoLayersAllocation.id.toString() + uri = URI.create("http://www.webrtc.org/experiments/rtp-hdrext/video-layers-allocation00") + } + ) + } if (config.av1DependencyDescriptor.enabled()) { // https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension val dependencyDescriptorExt = RTPHdrExtPacketExtension() diff --git a/jicofo-selector/src/main/resources/reference.conf b/jicofo-selector/src/main/resources/reference.conf index c89c6d6c03..a72f40a83c 100644 --- a/jicofo-selector/src/main/resources/reference.conf +++ b/jicofo-selector/src/main/resources/reference.conf @@ -142,6 +142,10 @@ jicofo { enabled = true id = 11 } + video-layers-allocation { + enabled = false + id = 12 + } tof { // TOF is currently disabled, because we don't support it in the bridge // (and currently clients seem to not use it when abs-send-time is