|
NVIDIA DeepStream SDK API Reference
|
7.1 Release
|
Go to the documentation of this file.
13 #ifndef __NVSTREAMMUX_PADS__H__
14 #define __NVSTREAMMUX_PADS__H__
16 #include <condition_variable>
107 virtual void free() = 0;
178 switched_to_idle =
false;
179 switched_to_active =
false;
234 switched_to_idle = val;
239 switched_to_active = val;
244 return switched_to_idle;
249 return switched_to_active;
254 mime_type = n_mime_type;
303 debug_iface = a_debug_iface;
309 std::vector <std::shared_ptr<QueueEntry> >
queue;
322 bool switched_to_idle;
326 bool switched_to_active;
333 std::condition_variable
cv;
PAD_MIME_TYPE get_mime_type()
QueueEntry(void *entry, ENTRY_TYPE et, BATCH_SEQUENCE_TYPE bt=BATCH_SEQUENCE_IN_BATCH)
unsigned int top_event_index
unsigned long buffer_count
std::vector< std::shared_ptr< QueueEntry > > queue
@ SINK_EVENT_STREAM_START
@ SINK_EVENT_STREAM_RESET
void set_mime_type(PAD_MIME_TYPE n_mime_type)
virtual void removing_old_buffer(BufferWrapper *buffer)=0
std::vector< unsigned int > event_indices
void adjust_event_indices(unsigned int, bool is_event)
void set_debug_interface(INvStreammuxDebug *a_debug_iface)
BATCH_SEQUENCE_TYPE batch_type
void queue_entry(std::shared_ptr< QueueEntry >)
void set_switched_to_active(bool val)
EventWrapper(void *event, ENTRY_TYPE et, BATCH_SEQUENCE_TYPE bt)
virtual ~ISynchronizeBuffer()=default
void update_frame_count(unsigned int count)
std::condition_variable cv
cv which shall be notified when we have input buffer in queue
void wait_if_queue_full()
always call after queue_entry() for type=ENTRY_BUFFER
virtual NanoSecondsType get_buffer_earlyby_time()=0
Returns the time by which the latest early-buffer was early.
bool get_switched_to_active()
void push_events(SourcePad *src_pad)
std::mutex mutex_buffer_count
virtual uint64_t GetBufferRunningTime(uint64_t pts, unsigned int stream_id)=0
@ BATCH_SEQUENCE_PRE_BATCH
@ BATCH_SEQUENCE_IN_BATCH
bool get_switched_to_idle()
BufferWrapper(void *buffer, ENTRY_TYPE et, BATCH_SEQUENCE_TYPE bt=BATCH_SEQUENCE_IN_BATCH, uint64_t ts=0)
unsigned int get_available()
unsigned long frame_count
SourcePad(unsigned int id, void *pad)
unsigned long max_buffer_count
unsigned long get_frame_count()
virtual ~QueueEntry()=default
virtual ~BufferWrapper()=default
std::chrono::duration< double, std::nano > NanoSecondsType
virtual uint64_t GetCurrentRunningTime()=0
virtual void push_event(SourcePad *src_pad, QueueEntry *)
SinkPad(unsigned int id, void *pad)
void set_switched_to_idle(bool val)
@ BATCH_SEQUENCE_POST_BATCH
virtual BUFFER_TS_STATUS get_synch_info(BufferWrapper *buffer)=0
void set_max_buffer_count(unsigned int max_buffer_c)
unsigned int get_max_buffer_count()
std::condition_variable cv_input_full
cv which shall be notified when we have space left in queue