The configuration system cannot store both a static list and a dynamic
one (and AFAIK, it never could). It only makes to use either a static
list or a callback.
This also fixes an issue where VLC would segfault if it could not
initialize the card.
Patch originally by Ed Groth <ed at boxpopuli.com>.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
From 7.6 to 7.9, the method for setting video modes et al was changed,
in a way that is neither backwards nor forwards compatible. Even though
the 7.9 SDK includes some backwards-compatible headers for emulating
older APIs, they are unfortunately not a drop-in replacement, since they
add version numbers to struct names et al. Thus, there is no simple method
of maintaining source-level compatibility with both APIs (even though a
VLC compiled against the 7.6 SDK most likely would work if moved to a
machine with 7.9 driver), and given the choice, we should support the
newest API, as the older SDK isn't even downloadable anymore.
Thus, update unconditionally to the new API, and hope Blackmagic won't
change things too often in the future.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Adds a driver for the BlackMagic DeckLink series of SDI cards (input only).
It requires BlackMagic's proprietary (but free-to-download) SDK to compile
and run. I've only tested it on Linux -- the Windows API is very similar but
not identical, so some adjustments will probably have to happen if anybody
wants this to work on Windows. (Windows users can, AFAIK, already access the
card via DirectShow, though.) It supports multiple cards, all the various
A/V inputs and video modes including setting field dominance and multichannel
input (2, 8 or 16 channels).
All testing has been with a DeckLink HD Extreme 3, which I have very
graciously been given access to by Frikanalen.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>