diff --git a/node/src/supportedRtpCapabilities.ts b/node/src/supportedRtpCapabilities.ts index d5740f5fba..0f67bb28e3 100644 --- a/node/src/supportedRtpCapabilities.ts +++ b/node/src/supportedRtpCapabilities.ts @@ -298,7 +298,7 @@ const supportedRtpCapabilities: RtpCapabilities = { uri: 'https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension', preferredId: 8, preferredEncrypt: false, - direction: 'recvonly', + direction: 'sendrecv', }, { kind: 'audio', diff --git a/node/src/test/test-PipeTransport.ts b/node/src/test/test-PipeTransport.ts index 2bffccc5a8..1501eef660 100644 --- a/node/src/test/test-PipeTransport.ts +++ b/node/src/test/test-PipeTransport.ts @@ -381,6 +381,12 @@ test('router.pipeToRouter() succeeds with video', async () => { encrypt: false, parameters: {}, }, + { + uri: 'https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension', + id: 8, + encrypt: false, + parameters: {}, + }, { uri: 'urn:3gpp:video-orientation', id: 11, @@ -448,6 +454,12 @@ test('router.pipeToRouter() succeeds with video', async () => { encrypt: false, parameters: {}, }, + { + uri: 'https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension', + id: 8, + encrypt: false, + parameters: {}, + }, { uri: 'urn:3gpp:video-orientation', id: 11, @@ -569,6 +581,12 @@ test('router.createPipeTransport() with enableRtx succeeds', async () => { encrypt: false, parameters: {}, }, + { + uri: 'https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension', + id: 8, + encrypt: false, + parameters: {}, + }, { uri: 'urn:3gpp:video-orientation', id: 11, diff --git a/rust/src/supported_rtp_capabilities.rs b/rust/src/supported_rtp_capabilities.rs index b0d583dadf..edac4141a4 100644 --- a/rust/src/supported_rtp_capabilities.rs +++ b/rust/src/supported_rtp_capabilities.rs @@ -356,7 +356,7 @@ pub fn get_supported_rtp_capabilities() -> RtpCapabilities { uri: RtpHeaderExtensionUri::DependencyDescriptor, preferred_id: 8, preferred_encrypt: false, - direction: RtpHeaderExtensionDirection::RecvOnly, + direction: RtpHeaderExtensionDirection::SendRecv, }, RtpHeaderExtension { kind: MediaKind::Audio, diff --git a/rust/tests/integration/pipe_transport.rs b/rust/tests/integration/pipe_transport.rs index bbc4367815..5b20fe024b 100644 --- a/rust/tests/integration/pipe_transport.rs +++ b/rust/tests/integration/pipe_transport.rs @@ -108,11 +108,6 @@ fn video_producer_options() -> ProducerOptions { ], }], header_extensions: vec![ - RtpHeaderExtensionParameters { - uri: RtpHeaderExtensionUri::DependencyDescriptor, - id: 8, - encrypt: false, - }, RtpHeaderExtensionParameters { uri: RtpHeaderExtensionUri::Mid, id: 10, diff --git a/worker/src/RTC/Consumer.cpp b/worker/src/RTC/Consumer.cpp index 832b083e3c..8b0c3280f7 100644 --- a/worker/src/RTC/Consumer.cpp +++ b/worker/src/RTC/Consumer.cpp @@ -114,6 +114,13 @@ namespace RTC { this->rtpHeaderExtensionIds.rrid = exten.id; } + + if ( + this->rtpHeaderExtensionIds.dependencyDescriptor == 0u && + exten.type == RTC::RtpHeaderExtensionUri::Type::DEPENDENCY_DESCRIPTOR) + { + this->rtpHeaderExtensionIds.dependencyDescriptor = exten.id; + } } // paused is set to false by default.