From 73ce616bd9a41d17fa481ae6798b8251f817201b Mon Sep 17 00:00:00 2001 From: Vivia Nikolaidou Date: Mon, 28 Nov 2022 17:06:07 +0200 Subject: [PATCH] ndisrc: Use default channel mask for audio output Part-of: --- net/ndi/src/ndisrc/receiver.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/net/ndi/src/ndisrc/receiver.rs b/net/ndi/src/ndisrc/receiver.rs index 83d4634c..14f6a78f 100644 --- a/net/ndi/src/ndisrc/receiver.rs +++ b/net/ndi/src/ndisrc/receiver.rs @@ -1587,11 +1587,19 @@ impl Receiver { let fourcc = audio_frame.fourcc(); if [NDIlib_FourCC_audio_type_FLTp].contains(&fourcc) { + let channels = audio_frame.no_channels() as u32; + let mut positions = [gst_audio::AudioChannelPosition::None; 64]; + let _ = gst_audio::AudioChannelPosition::positions_from_mask( + gst_audio::AudioChannelPosition::fallback_mask(channels), + &mut positions, + ); + let builder = gst_audio::AudioInfo::builder( gst_audio::AUDIO_FORMAT_F32, audio_frame.sample_rate() as u32, - audio_frame.no_channels() as u32, - ); + channels, + ) + .positions(&positions[..audio_frame.no_channels() as usize]); let info = builder.build().map_err(|_| { gst::element_error!(