Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sdroege/gst-plugin-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/net/ndi
diff options
context:
space:
mode:
authorVivia Nikolaidou <vivia@ahiru.eu>2022-11-28 18:06:07 +0300
committerVivia Nikolaidou <vivia@ahiru.eu>2022-11-28 18:06:07 +0300
commit73ce616bd9a41d17fa481ae6798b8251f817201b (patch)
treeeee873212b8a54b991f3d172be058af4adee8e3c /net/ndi
parent72f616fa142e024ca73f66954a1649fd5f9ab756 (diff)
ndisrc: Use default channel mask for audio output
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/988>
Diffstat (limited to 'net/ndi')
-rw-r--r--net/ndi/src/ndisrc/receiver.rs12
1 files 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!(