Definition at line 178 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 182 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 195 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 278 of file nvstreammux_pads.h.
unsigned long SinkPad::get_frame_count | ( | ) |
|
inline |
Definition at line 306 of file nvstreammux_pads.h.
References max_buffer_count, and mutex_buffer_count.
|
inline |
Definition at line 268 of file nvstreammux_pads.h.
|
inline |
Definition at line 258 of file nvstreammux_pads.h.
|
inline |
Definition at line 253 of file nvstreammux_pads.h.
|
inline |
Definition at line 292 of file nvstreammux_pads.h.
References buffer_count, cv_input_full, max_buffer_count, and mutex_buffer_count.
|
inline |
Definition at line 283 of file nvstreammux_pads.h.
References buffer_count, and mutex_buffer_count.
|
inlinevirtual |
Reimplemented in GstSinkPad.
Definition at line 226 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 237 of file nvstreammux_pads.h.
References frame_count.
|
inline |
Definition at line 312 of file nvstreammux_pads.h.
|
inline |
Definition at line 273 of file nvstreammux_pads.h.
|
inline |
Definition at line 300 of file nvstreammux_pads.h.
References max_buffer_count, and mutex_buffer_count.
|
inline |
Definition at line 263 of file nvstreammux_pads.h.
|
inline |
Definition at line 248 of file nvstreammux_pads.h.
|
inline |
Definition at line 243 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 342 of file nvstreammux_pads.h.
|
protected |
Definition at line 348 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 344 of file nvstreammux_pads.h.
|
protected |
cv which shall be notified when we have space left in queue
Definition at line 346 of file nvstreammux_pads.h.
Referenced by pop_buffer_done().
std::vector<unsigned int> SinkPad::event_indices |
Definition at line 321 of file nvstreammux_pads.h.
|
protected |
Definition at line 347 of file nvstreammux_pads.h.
Referenced by reset_frame_count(), and SinkPad().
unsigned int SinkPad::id |
Definition at line 323 of file nvstreammux_pads.h.
|
protected |
Definition at line 349 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 325 of file nvstreammux_pads.h.
std::mutex SinkPad::mutex_buffer_count |
Definition at line 326 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 320 of file nvstreammux_pads.h.
unsigned int SinkPad::source_id |
Definition at line 328 of file nvstreammux_pads.h.
SOURCE_STATE SinkPad::state |
Definition at line 317 of file nvstreammux_pads.h.
Referenced by SinkPad().
unsigned int SinkPad::top_event_index |
Definition at line 327 of file nvstreammux_pads.h.
void* SinkPad::wrapped |
Definition at line 324 of file nvstreammux_pads.h.