GNOME Bugzilla – Bug 696852
decklinkaudiosrc: does not allow the capture of more than 2 channels of embedded audio on SDI input
Last modified: 2017-01-03 15:37:24 UTC
Created attachment 240115 [details] [review] Hackish patch against 0.10.22.3 for multichannel audio in on SDI inputs SDI links can embed up to 16 audio channels, which can be retrieved by the Decklink cards driver. According to the SDK documentation, you can ask for 2, 8 or 16 channels of audio to be streamed to your client app. The decklinksrc plugin has a hardcoded value of 2 channels, while it seems to me that GStreamer can handle multichannel audio pretty well. Is there any technical reason for this limitation? Anyway, I've hacked a patch for our own needs that allows us to get the "missing" channels, and it seems to be working. However, this patch was done against the Debian version (0.10.22.3) and since I'm not familiar with the GStreamer source code and coding conventions, it's already outdated and probably dirty :) I've attached it to this bug so you can review the extent of my modifications (fairly small). Do you think a similar patch (against the git version this time) could find its way in the codebase? There are probably other people who would like to use multichannel SDI audio in :)
Created attachment 274910 [details] [review] decklinksrc: Add an audio-channels property to gst-plugins-bad 1.2 Applies on master too, otherwise untested.
This patch needs to be rebased to apply cleanly against latest GIT master. Also we definitely need appropriate layouts for any number of channels, and the number of channels and their layout should be exposed in the get_caps() function.
Something like this was implemented now: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=e8e531ee12efc687f427a9596c824d63a219eb52