UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
ug_input_state Struct Reference
Inheritance diagram for ug_input_state:
Inheritance graph
Collaboration diagram for ug_input_state:
Collaboration graph

Public Member Functions

virtual ~ug_input_state ()
 
void frame_arrived (struct video_frame *f, struct audio_frame *a)
 
- Public Member Functions inherited from frame_recv_delegate

Public Attributes

struct state_audio * audio
 
struct common_opts common = { COMMON_OPTS_INIT }
 
struct display * display
 
queue< pair< struct video_frame *, struct audio_frame * > > frame_queue
 
int frames
 
mutex lock
 
thread receiver_thread
 
std::chrono::steady_clock::time_point t0
 
unique_ptr< ultragrid_rtp_video_rxtx > video_rxtx
 

Detailed Description

Definition at line 76 of file ug_input.cpp.

Constructor & Destructor Documentation

◆ ~ug_input_state()

virtual ug_input_state::~ug_input_state ( )
inlinevirtual

Definition at line 86 of file ug_input.cpp.

86{}

Member Function Documentation

◆ frame_arrived()

void ug_input_state::frame_arrived ( struct video_frame * ,
struct audio_frame *  )
virtual

Implementing method must release both audio and video frame received as parameters with AUDIO_FRAME_DISPOSE() and VIDEO_FRAME_DISPOSE().

Implements frame_recv_delegate.

Definition at line 94 of file ug_input.cpp.

95{
96 lock_guard<mutex> lk(lock);
97 if (frame_queue.size() < MAX_QUEUE_SIZE) {
98 frame_queue.push({f, a});
99 } else {
100 MSG(WARNING, "Dropping frame!\n");
103 }
104}
#define AUDIO_FRAME_DISPOSE(frame)
Definition types.h:117
#define MSG(l, fmt,...)
Definition debug.h:96
queue< pair< struct video_frame *, struct audio_frame * > > frame_queue
Definition ug_input.cpp:78
static constexpr int MAX_QUEUE_SIZE
Definition ug_input.cpp:61
#define VIDEO_FRAME_DISPOSE(frame)
Definition video_frame.h:76

References AUDIO_FRAME_DISPOSE, frame_queue, MAX_QUEUE_SIZE, MSG, and VIDEO_FRAME_DISPOSE.

Member Data Documentation

◆ audio

struct state_audio* ug_input_state::audio

Definition at line 84 of file ug_input.cpp.

◆ common

struct common_opts ug_input_state::common = { COMMON_OPTS_INIT }

Definition at line 91 of file ug_input.cpp.

#define COMMON_OPTS_INIT
Definition host.h:179

◆ display

struct display* ug_input_state::display

Definition at line 79 of file ug_input.cpp.

◆ frame_queue

queue<pair<struct video_frame *, struct audio_frame *> > ug_input_state::frame_queue

Definition at line 78 of file ug_input.cpp.

Referenced by frame_arrived().

◆ frames

int ug_input_state::frames

Definition at line 89 of file ug_input.cpp.

◆ lock

mutex ug_input_state::lock

Definition at line 77 of file ug_input.cpp.

◆ receiver_thread

thread ug_input_state::receiver_thread

Definition at line 82 of file ug_input.cpp.

◆ t0

std::chrono::steady_clock::time_point ug_input_state::t0

Definition at line 88 of file ug_input.cpp.

◆ video_rxtx

unique_ptr<ultragrid_rtp_video_rxtx> ug_input_state::video_rxtx

Definition at line 83 of file ug_input.cpp.


The documentation for this struct was generated from the following file: