Decklink multi-channel audio source

Sebastian Dröge sebastian at centricular.com
Wed Aug 31 06:50:42 UTC 2016


On Tue, 2016-08-30 at 19:41 +0000, John P Poet wrote:
> On Tue, Aug 30, 2016 at 12:42 AM Sebastian Dröge <sebastian at centricular.com> wrote:
> > On Mon, 2016-08-29 at 21:03 +0000, John P Poet wrote:
> > > I noticed that support for 8 and 16 channel audio was added to
> > > decklinkaudiosink.  Are there any plans to support to
> > > decklinkaudiosrc as well?
> > >
> > > I came across https://bugzilla.gnome.org/attachment.cgi?id=274910&act
> > > ion=diff , but that is quite old.  I have not even tried to apply it.
> > 
> > It does not apply anymore and needs a major update.
> > 
> > Adding support for 8 and 16 channels is relatively simple and can be
> > done similar to what that patch does, however decklink does not provide
> > any information about the location/layout of channels and as such we
> > would have to handle it as unpositioned.
> > 
> > Do you want to update the patch?
> 
> I am willing to try.  I have hacked on other peoples code a little bit, when necessary, but do not have a high degree of comfort when working on GStreamer internals.
> 
> Is there some other src module I can use as an example?  Searching for similar code, I see: 
> 
> gst-plugins-bad/ext/flite/gstflitetestsrc.c
> gst-plugins-base/gst/audioconvert/gstaudioconvert.c
> 
> Based on those two, I am guessing I need to create a "fixate" function.  I need to understand how the caps are managed...

You would need to:
1) Add 8 / 16 channels to the template caps like in the audio 
2) Handle those in gst_decklink_audio_src_set_caps() (EnableAudioInput)
3) Check what the hardware actually supports and do something like
   in gst_decklink_audio_sink_get_caps()
4) Implement fixate to select a meaningful number of channels if
   you still get multiple in there. 2 seems like the best choice
   as we know the channel layout for that

In general for 8 / 16 channels, the channel-mask in the caps would be
0, which means unpositioned.

-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 931 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160831/454d276e/attachment.sig>


More information about the gstreamer-devel mailing list