38#ifndef VIDEO_RXTX_ULTRAGRID_RTP_H_
39#define VIDEO_RXTX_ULTRAGRID_RTP_H_
44#include <condition_variable>
63 virtual void send_frame(std::shared_ptr<video_frame>)
noexcept override;
static void * send_frame_async_callback(void *arg)
long long int m_compress_millis_cumul
long long int m_send_bytes_total
struct display * m_display_device
std::mutex m_async_sending_lock
virtual void send_frame_async(std::shared_ptr< video_frame >)
void remove_display_from_decoders()
std::list< struct display * > m_display_copies
friend ssize_t hd_rum_decompress_write(void *state, void *buf, size_t count)
struct vcodec_state * new_video_decoder(struct display *d)
virtual void send_frame(std::shared_ptr< video_frame >) noexcept override
virtual ~ultragrid_rtp_video_rxtx()
long long int m_nano_per_frame_actual_cumul
virtual void *(*)(void *arg) get_receiver_thread() noexcept
struct control_state * m_control
std::condition_variable m_async_sending_cv
enum video_mode m_decoder_mode
void receiver_process_messages()
static void destroy_video_decoder(void *state)
ultragrid_rtp_video_rxtx(std::map< std::string, param_u > const &)
long long int m_nano_per_frame_expected_cumul
static void * receiver_thread(void *arg)
This struct represents initialized video display state.