Decklink multi-channel audio source

Sebastian Dröge sebastian at centricular.com
Thu Sep 8 06:33:16 UTC 2016


On Wed, 2016-09-07 at 23:14 +0000, John P Poet wrote:
> 
> Hi Sebastian,
> 
> I am attaching my attempt at this.

Thanks, can you put it into Bugzilla? We're using that for patch review
/ discussions:

  https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer

> Unfortunately it does not quite work.  I cannot figure out how to get
> 8 channels of audio encoded into ac3.  With this pipeline:
>
> ```
> gst-launch-1.0 decklinkvideosrc device-number=${DEVICE} mode=0 !
> queue ! autovideoconvert ! deinterlace mode=2 ! queue !
> avenc_mpeg2video bitrate=800000 ! mpegvideoparse ! mpegtsmux name=mux
> ! filesink location=video.ts decklinkaudiosrc device-number=${DEVICE} 
> audio-channels=8 ! audioconvert ! avenc_ac3 bitrate=640000 ! ac3parse
> ! queue ! mux.
> ```
> [...]

Are the caps set to 8 channels on decklinkaudiosrc?

Also avenc_ac3 only supports up to 6 channels, not 8. So audioconvert
would convert to something else.


The number of channels should also be negotiated via caps, similar to
what other elements are doing, instead of a property.

> Note: If I set the channel mask to zero, then those pipelines don't
> run at all.

The problem with setting it to anything else is that you give meaning
to each channel (the position), which you don't have with decklink. You
have 8 unpositioned channels and if anything you can know their
positions from the application.

As such, using 0 as channel mask is the right thing to do here. And it
would be the applications job to set the actual channel mask via a
capssetter or similar.

-- 
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/20160908/3db57e34/attachment-0001.sig>


More information about the gstreamer-devel mailing list