UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
ihdtv.hpp
Go to the documentation of this file.
1/*
2 * FILE: video_rxtx/ihdtv.hpp
3 * AUTHORS: Colin Perkins <csp@csperkins.org>
4 * Ladan Gharai <ladan@isi.edu>
5 * Martin Benes <martinbenesh@gmail.com>
6 * Lukas Hejtmanek <xhejtman@ics.muni.cz>
7 * Petr Holub <hopet@ics.muni.cz>
8 * Milos Liska <xliska@fi.muni.cz>
9 * Jiri Matela <matela@ics.muni.cz>
10 * Dalibor Matura <255899@mail.muni.cz>
11 * Ian Wesley-Smith <iwsmith@cct.lsu.edu>
12 * Martin Pulec <pulec@cesnet.cz>
13 *
14 * Copyright (c) 2005-2023 CESNET z.s.p.o.
15 * Copyright (c) 2001-2004 University of Southern California
16 * Copyright (c) 2003-2004 University of Glasgow
17 *
18 * Redistribution and use in source and binary forms, with or without
19 * modification, is permitted provided that the following conditions
20 * are met:
21 *
22 * 1. Redistributions of source code must retain the above copyright
23 * notice, this list of conditions and the following disclaimer.
24 *
25 * 2. Redistributions in binary form must reproduce the above copyright
26 * notice, this list of conditions and the following disclaimer in the
27 * documentation and/or other materials provided with the distribution.
28 *
29 * 3. All advertising materials mentioning features or use of this software
30 * must display the following acknowledgement:
31 *
32 * This product includes software developed by the University of Southern
33 * California Information Sciences Institute. This product also includes
34 * software developed by CESNET z.s.p.o.
35 *
36 * 4. Neither the name of the University nor of the Institute may be used
37 * to endorse or promote products derived from this software without
38 * specific prior written permission.
39 *
40 * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS
41 * "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
42 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
43 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
44 * EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
45 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
46 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
47 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
49 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
50 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
51 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
52 *
53 */
54#ifndef VIDEO_RXTX_IHDTV_H_
55#define VIDEO_RXTX_IHDTV_H_
56
57#include "video_capture.h"
58#include "video_display.h"
59#include "video_rxtx.hpp"
60
61#ifdef HAVE_IHDTV
62#include "ihdtv/ihdtv.h"
63#endif
64
65struct video_frame;
66struct display;
67
69public:
70 ihdtv_video_rxtx(std::map<std::string, param_u> const &);
72private:
73 void send_frame(std::shared_ptr<video_frame>) noexcept override;
74 static void *receiver_thread(void *arg) {
75 ihdtv_video_rxtx *s = static_cast<ihdtv_video_rxtx *>(arg);
76 return s->receiver_loop();
77 }
78 void *(*get_receiver_thread() noexcept)(void *arg) override {
79 return receiver_thread;
80 }
81 void *receiver_loop();
82#ifdef HAVE_IHDTV
83 ihdtv_connection m_tx_connection, m_rx_connection;
84 struct display *m_display_device;
85#endif
86};
87
88#endif // IHDTV_H_
89
void *(*)(void *arg) get_receiver_thread() noexcept
Definition ihdtv.hpp:78
static void * receiver_thread(void *arg)
Definition ihdtv.hpp:74
void send_frame(std::shared_ptr< video_frame >) noexcept override
Definition ihdtv.cpp:75
void * receiver_loop()
Definition ihdtv.cpp:84
ihdtv_video_rxtx(std::map< std::string, param_u > const &)
Definition ihdtv.cpp:125
This struct represents initialized video display state.
Struct video_frame represents a video frame and contains video description.
Definition types.h:305