Definition at line 167 of file nvstreammux_pads.h.
Public Member Functions | |
SinkPad (unsigned int id, void *pad) | |
virtual | ~SinkPad () |
void | release () |
void | wait_till_empty () |
bool | check_queue_empty () |
void | queue_entry (std::shared_ptr< QueueEntry >) |
void | push_events (SourcePad *src_pad) |
virtual void | push_event (SourcePad *src_pad, QueueEntry *) |
unsigned int | get_available () |
void | adjust_event_indices (unsigned int, bool is_event) |
void | update_frame_count (unsigned int count) |
unsigned long | get_frame_count () |
void | reset_frame_count () |
void | reset () |
void | clear_frames () |
void | set_switched_to_idle (bool val) |
void | set_switched_to_active (bool val) |
bool | get_switched_to_idle () |
bool | get_switched_to_active () |
void | set_mime_type (PAD_MIME_TYPE n_mime_type) |
PAD_MIME_TYPE | get_mime_type () |
void | set_eos (bool aEos) |
bool | get_eos () |
void | push_buffer_done () |
void | wait_if_queue_full () |
always call after queue_entry() for type=ENTRY_BUFFER More... | |
void | pop_buffer_done () |
void | set_max_buffer_count (unsigned int max_buffer_c) |
unsigned int | get_max_buffer_count () |
void | set_debug_interface (INvStreammuxDebug *a_debug_iface) |
Data Fields | |
SOURCE_STATE | state |
std::vector< std::shared_ptr< QueueEntry > > | queue |
std::vector< unsigned int > | event_indices |
unsigned int | id |
void * | wrapped |
std::mutex | mutex |
std::mutex | mutex_buffer_count |
unsigned int | top_event_index |
unsigned int | source_id |
Protected Attributes | |
std::condition_variable | cv |
cv which shall be notified when we have input buffer in queue More... | |
std::condition_variable | cv_input_full |
cv which shall be notified when we have space left in queue More... | |
unsigned long | frame_count |
unsigned long | buffer_count |
unsigned long | max_buffer_count |
Friends | |
class | SourcePad |
|
inline |
Definition at line 171 of file nvstreammux_pads.h.
References buffer_count, frame_count, max_buffer_count, PAD_MIME_TYPE_VIDEO, SOURCE_STATE_IDLE, and state.
|
inlinevirtual |
Definition at line 184 of file nvstreammux_pads.h.
void SinkPad::adjust_event_indices | ( | unsigned int | , |
bool | is_event | ||
) |
bool SinkPad::check_queue_empty | ( | ) |
void SinkPad::clear_frames | ( | ) |
unsigned int SinkPad::get_available | ( | ) |
|
inline |
Definition at line 267 of file nvstreammux_pads.h.
unsigned long SinkPad::get_frame_count | ( | ) |
|
inline |
Definition at line 295 of file nvstreammux_pads.h.
References max_buffer_count, and mutex_buffer_count.
|
inline |
Definition at line 257 of file nvstreammux_pads.h.
|
inline |
Definition at line 247 of file nvstreammux_pads.h.
|
inline |
Definition at line 242 of file nvstreammux_pads.h.
|
inline |
Definition at line 281 of file nvstreammux_pads.h.
References buffer_count, cv_input_full, max_buffer_count, and mutex_buffer_count.
|
inline |
Definition at line 272 of file nvstreammux_pads.h.
References buffer_count, and mutex_buffer_count.
|
inlinevirtual |
Reimplemented in GstSinkPad.
Definition at line 215 of file nvstreammux_pads.h.
void SinkPad::push_events | ( | SourcePad * | src_pad | ) |
void SinkPad::queue_entry | ( | std::shared_ptr< QueueEntry > | ) |
void SinkPad::release | ( | ) |
void SinkPad::reset | ( | ) |
|
inline |
Definition at line 226 of file nvstreammux_pads.h.
References frame_count.
|
inline |
Definition at line 301 of file nvstreammux_pads.h.
|
inline |
Definition at line 262 of file nvstreammux_pads.h.
|
inline |
Definition at line 289 of file nvstreammux_pads.h.
References max_buffer_count, and mutex_buffer_count.
|
inline |
Definition at line 252 of file nvstreammux_pads.h.
|
inline |
Definition at line 237 of file nvstreammux_pads.h.
|
inline |
Definition at line 232 of file nvstreammux_pads.h.
void SinkPad::update_frame_count | ( | unsigned int | count | ) |
void SinkPad::wait_if_queue_full | ( | ) |
always call after queue_entry() for type=ENTRY_BUFFER
void SinkPad::wait_till_empty | ( | ) |
|
friend |
Definition at line 331 of file nvstreammux_pads.h.
|
protected |
Definition at line 337 of file nvstreammux_pads.h.
Referenced by pop_buffer_done(), push_buffer_done(), and SinkPad().
|
protected |
cv which shall be notified when we have input buffer in queue
Definition at line 333 of file nvstreammux_pads.h.
|
protected |
cv which shall be notified when we have space left in queue
Definition at line 335 of file nvstreammux_pads.h.
Referenced by pop_buffer_done().
std::vector<unsigned int> SinkPad::event_indices |
Definition at line 310 of file nvstreammux_pads.h.
|
protected |
Definition at line 336 of file nvstreammux_pads.h.
Referenced by reset_frame_count(), and SinkPad().
unsigned int SinkPad::id |
Definition at line 312 of file nvstreammux_pads.h.
|
protected |
Definition at line 338 of file nvstreammux_pads.h.
Referenced by get_max_buffer_count(), pop_buffer_done(), set_max_buffer_count(), and SinkPad().
std::mutex SinkPad::mutex |
Definition at line 314 of file nvstreammux_pads.h.
std::mutex SinkPad::mutex_buffer_count |
Definition at line 315 of file nvstreammux_pads.h.
Referenced by get_max_buffer_count(), pop_buffer_done(), push_buffer_done(), and set_max_buffer_count().
std::vector<std::shared_ptr<QueueEntry> > SinkPad::queue |
Definition at line 309 of file nvstreammux_pads.h.
unsigned int SinkPad::source_id |
Definition at line 317 of file nvstreammux_pads.h.
SOURCE_STATE SinkPad::state |
Definition at line 306 of file nvstreammux_pads.h.
Referenced by SinkPad().
unsigned int SinkPad::top_event_index |
Definition at line 316 of file nvstreammux_pads.h.
void* SinkPad::wrapped |
Definition at line 313 of file nvstreammux_pads.h.