[vlc-devel] [PATCH] access module for BlackMagic SDI cards
Steinar H. Gunderson
sgunderson at bigfoot.com
Tue Oct 5 12:46:52 CEST 2010
On Tue, Oct 05, 2010 at 05:17:18PM +1100, Stuart Cunningham wrote:
>>+ const char *psz_model_name;
>>+ result = p_sys->p_card->GetModelName( &psz_model_name );
> This will fail to compile under Mac and Windows, since the DeckLink
> API uses different string types for those two platforms, namely
> CFString for Mac and BSTR for Windows. So use suitable macros to do
> the platform tests - perhaps a static function like
> getDeckLinkModelName() returning a const char* could keep the platform
> differences away from the flow of Open(). Same problem occurs with
> p_display_mode->GetName().
Yes. This is already covered in the NEWS file and discussed here. I guess
porting would be easy for anyone on Windows, though.
> A simpler end-user command-line interface would have just one way of
> disabling audio, rather than either audio-rate or audio-channels. For
> me, --decklink-audio-connection=disabled would be a more intuitive way
> to disable audio.
Hm, I haven't thought about disabling either, but I guess I could give it a
shot.
> I have two questions may have some bearing on this patch:
> 1) If one was to write support for DeckLink output, would it cause
> any contention for the DeckLink board, e.g. if I wanted to capture
> from the DeckLink SDI input, add audio from another input, then
> playout over the same board SDI output? Would output support be added
> to this module or should it go into a separate module under
> modules/access_output?
I honestly don't know. I don't own one of these cards myself; I only have
(temporary) access to a machine with one, since I need it for a later
project.
> 2) One of the things I'd like to try with this module to capture from
> four SDI or HDMI inputs and use VLC's wall video filter (or is it
> mosaic?) to combine four video inputs into a single video image before
> streaming it. I imagine all that's required is that the module be
> thread safe?
I would assume you'd get interesting issues with timing over the long term,
given that VLC currently does not sync to the SDI timer. I have no idea to
what degree VLC lets you use the same input module several times, but there's
no thread-hostile operations in there (ie. access to global data, except
possibly what the driver does itself) that I know of.
/* Steinar */
--
Homepage: http://www.sesse.net/
More information about the vlc-devel
mailing list