![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|
#include <video_rxtx.hpp>


Public Member Functions | |
| virtual | ~video_rxtx () |
| virtual void | join () |
| void | send (std::shared_ptr< struct video_frame >) |
| virtual void | set_audio_spec (const struct audio_desc *desc, int audio_rx_port, int audio_tx_port, bool ipv6) |
| bool | supports_receiving () |
Static Public Member Functions | |
| static video_rxtx * | create (std::string const &name, std::map< std::string, param_u > const &) |
| static const char * | get_long_name (std::string const &short_name) |
| static void | list (bool full) |
| static void * | receiver_thread (void *arg) |
Public Attributes | |
| std::string | m_port_id |
Protected Member Functions | |
| video_rxtx (std::map< std::string, param_u > const &) | |
| void | check_sender_messages () |
Protected Attributes | |
| struct common_opts | m_common |
| unsigned long long int | m_frames_sent |
| struct module | m_receiver_mod |
| int | m_rxtx_mode |
| struct module | m_sender_mod |
| bool | m_should_exit = false |
Private Member Functions | |
| virtual struct response * | process_sender_message (struct msg_sender *) |
| virtual void | send_frame (std::shared_ptr< video_frame >) noexcept=0 |
| void * | sender_loop () |
| void | start () |
Static Private Member Functions | |
| static void * | sender_thread (void *args) |
| static void | should_exit (void *state) |
Private Attributes | |
| virtual void *(*)(void *arg) | get_receiver_thread () noexcept |
| struct compress_state * | m_compression = nullptr |
| bool | m_joined |
| pthread_mutex_t | m_lock |
| bool | m_poisoned |
| pthread_t | m_thread_id |
Definition at line 77 of file video_rxtx.hpp.
|
virtual |
Definition at line 115 of file video_rxtx.cpp.
References compress_done(), compress_pop(), join(), m_compression, m_poisoned, m_receiver_mod, m_sender_mod, module_done(), and send().

|
protected |
Definition at line 70 of file video_rxtx.cpp.
References module::cls, compress_done(), compress_init(), m_common, m_compression, m_lock, m_receiver_mod, m_sender_mod, MODULE_CLASS_RECEIVER, MODULE_CLASS_SENDER, module_done(), module_init_default(), module_register(), and common_opts::parent.

|
protected |
Definition at line 169 of file video_rxtx.cpp.
References check_message(), free_message(), m_sender_mod, and process_sender_message().
Referenced by rtp_video_rxtx::rtp_video_rxtx(), and sender_loop().

|
static |
Definition at line 204 of file video_rxtx.cpp.
References video_rxtx_info::create, LIBRARY_CLASS_VIDEO_RXTX, load_library(), start(), and VIDEO_RXTX_ABI_VERSION.
Referenced by recompress_output_port::recompress_output_port(), hd_rum_decompress_init(), main(), and vidcap_ug_input_init().

|
static |
Definition at line 146 of file video_rxtx.cpp.
References LIBRARY_CLASS_VIDEO_RXTX, load_library(), and VIDEO_RXTX_ABI_VERSION.
Referenced by main().

|
virtual |
If overriden, childern must call also video_rxtx::join()
Reimplemented in h264_rtp_video_rxtx, and ultragrid_rtp_video_rxtx.
Definition at line 136 of file video_rxtx.cpp.
References m_common, m_joined, m_thread_id, common_opts::parent, send(), should_exit(), and unregister_should_exit_callback().
Referenced by ~video_rxtx(), h264_rtp_video_rxtx::join(), and ultragrid_rtp_video_rxtx::join().

|
static |
Definition at line 218 of file video_rxtx.cpp.
References LIBRARY_CLASS_VIDEO_RXTX, list_modules(), and VIDEO_RXTX_ABI_VERSION.
Referenced by parse_protocol().

|
inlineprivatevirtual |
Reimplemented in rtp_video_rxtx.
Definition at line 115 of file video_rxtx.hpp.
Referenced by check_sender_messages().
|
inlinestatic |
Definition at line 82 of file video_rxtx.hpp.
References get_receiver_thread.
Referenced by hd_rum_decompress_init(), main(), and vidcap_ug_input_init().
| void video_rxtx::send | ( | std::shared_ptr< struct video_frame > | frame | ) |
Definition at line 155 of file video_rxtx.cpp.
References compress_frame(), frame, m_compression, and m_poisoned.
Referenced by ~video_rxtx(), and join().

|
privatepure virtualnoexcept |
Implemented in h264_rtp_video_rxtx, h264_sdp_video_rxtx, ihdtv_video_rxtx, loopback_video_rxtx, sage_video_rxtx, and ultragrid_rtp_video_rxtx.
Referenced by sender_loop().
|
private |
Definition at line 178 of file video_rxtx.cpp.
References check_sender_messages(), compress_pop(), export_video(), common_opts::exporter, m_common, m_compression, m_frames_sent, send_frame(), and set_thread_name().
Referenced by sender_thread().

|
staticprivate |
Definition at line 165 of file video_rxtx.cpp.
References sender_loop().
Referenced by start().

|
virtual |
Reimplemented in h264_rtp_video_rxtx, and h264_sdp_video_rxtx.
Definition at line 225 of file video_rxtx.cpp.
References MSG.
Referenced by set_audio_spec_to_vrxtx().
|
staticprivate |
|
private |
Definition at line 126 of file video_rxtx.cpp.
References m_common, m_joined, m_thread_id, common_opts::parent, register_should_exit_callback(), sender_thread(), and should_exit().
Referenced by create().

|
inline |
Definition at line 86 of file video_rxtx.hpp.
References get_receiver_thread.
|
private |
Definition at line 112 of file video_rxtx.hpp.
Referenced by receiver_thread(), and supports_receiving().
|
protected |
Definition at line 106 of file video_rxtx.hpp.
Referenced by h264_rtp_video_rxtx::h264_rtp_video_rxtx(), ihdtv_video_rxtx::ihdtv_video_rxtx(), rtp_video_rxtx::rtp_video_rxtx(), ultragrid_rtp_video_rxtx::ultragrid_rtp_video_rxtx(), video_rxtx(), join(), ultragrid_rtp_video_rxtx::new_video_decoder(), rtp_video_rxtx::process_sender_message(), ultragrid_rtp_video_rxtx::receiver_loop(), ultragrid_rtp_video_rxtx::receiver_process_messages(), ultragrid_rtp_video_rxtx::send_frame_async(), sender_loop(), h264_sdp_video_rxtx::set_audio_spec(), and start().
|
private |
Definition at line 120 of file video_rxtx.hpp.
Referenced by video_rxtx(), ~video_rxtx(), send(), and sender_loop().
|
protected |
Definition at line 105 of file video_rxtx.hpp.
Referenced by rtp_video_rxtx::process_sender_message(), and sender_loop().
|
private |
Definition at line 124 of file video_rxtx.hpp.
|
private |
Definition at line 121 of file video_rxtx.hpp.
Referenced by video_rxtx().
|
private |
Definition at line 124 of file video_rxtx.hpp.
Referenced by ~video_rxtx(), and send().
| std::string video_rxtx::m_port_id |
Definition at line 98 of file video_rxtx.hpp.
|
protected |
Definition at line 103 of file video_rxtx.hpp.
Referenced by video_rxtx(), ~video_rxtx(), ultragrid_rtp_video_rxtx::new_video_decoder(), and ultragrid_rtp_video_rxtx::receiver_process_messages().
|
protected |
Definition at line 104 of file video_rxtx.hpp.
Referenced by rtp_video_rxtx::process_sender_message(), ultragrid_rtp_video_rxtx::receiver_process_messages(), and ultragrid_rtp_video_rxtx::send_frame_async().
|
protected |
Definition at line 102 of file video_rxtx.hpp.
Referenced by rtp_video_rxtx::rtp_video_rxtx(), sage_video_rxtx::sage_video_rxtx(), video_rxtx(), ~video_rxtx(), and check_sender_messages().
|
protected |
Definition at line 107 of file video_rxtx.hpp.
Referenced by ihdtv_video_rxtx::receiver_loop(), loopback_video_rxtx::receiver_loop(), ultragrid_rtp_video_rxtx::receiver_loop(), ultragrid_rtp_video_rxtx::send_frame_async(), and should_exit().
|
private |
Definition at line 123 of file video_rxtx.hpp.