1 /*****************************************************************************
2 * DBMSDIOutput.hpp: Decklink SDI Output
3 *****************************************************************************
4 * Copyright © 2014-2016 VideoLAN and VideoLAN Authors
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation; either version 2.1 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with this program; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
20 *****************************************************************************/
21 #ifndef DBMSDIOUTPUT_HPP
22 #define DBMSDIOUTPUT_HPP
24 #include "SDIOutput.hpp"
28 #include <DeckLinkAPI.h>
32 class DBMSDIOutput
: public SDIOutput
35 DBMSDIOutput(sout_stream_t
*);
37 virtual AbstractStream
*Add(const es_format_t
*); /* reimpl */
38 virtual int Open(); /* impl */
39 virtual int Process(); /* impl */
42 int ProcessVideo(picture_t
*);
43 int ProcessAudio(block_t
*);
44 virtual int ConfigureVideo(const video_format_t
*); /* impl */
45 virtual int ConfigureAudio(const audio_format_t
*); /* impl */
49 IDeckLinkOutput
*p_output
;
51 BMDTimeScale timescale
;
52 BMDTimeValue frameduration
;
53 vlc_tick_t lasttimestamp
;
54 /* XXX: workaround card clock drift */
59 const char *ErrorToString(long i_code
);
60 IDeckLinkDisplayMode
* MatchDisplayMode(const video_format_t
*,
61 BMDDisplayMode
= bmdDisplayModeNotSupported
);
62 int doProcessVideo(picture_t
*);
63 picture_t
* CreateNoSignalPicture(const char*, const video_format_t
*);
67 #endif // DBMSDIOUTPUT_HPP