NVIDIA DeepStream SDK API Reference

6.4 Release
ds3d::impl::BaseImplDataMixer Class Referenceabstract

Detailed Description

Any custom datamixer must derive from BaseImplDataMixer,.

For custom lib implementation, user need to implement the following virtual functions: startImpl(...), // user also need setCaps(port) in startImpl stopImpl(), // stop all resources for datamixer prepollImpl(data), // prepoll on 1st coming data renderImpl(data, dataConsumedCb), // rendering data. Once data is done, invoke dataConsumedCb(datamap) callback to notify application flushImpl(), // flush data in process

Definition at line 34 of file impl_datamixer.h.

Inheritance diagram for ds3d::impl::BaseImplDataMixer:
Collaboration diagram for ds3d::impl::BaseImplDataMixer:

Public Types

using OnGuardDataCBImpl = std::function< void(ErrCode, GuardDataMap)>
 
using OnGuardBridgeDataCBImpl = std::function< void(ErrCode, const struct VideoBridge2dInput *)>
 
using ImplMutex = std::recursive_mutex
 

Public Member Functions

 BaseImplDataMixer ()
 
 ~BaseImplDataMixer () override=default
 
ErrCode process_i (const int portId, const abiRefDataMap *inputData, const abiOnDataCB *inputDataConsumedCb) final
 
ErrCode setOutputCb_i (const abiOnDataCB *outputDataCb) final
 
ErrCode updateInput_i (int portId, MixerUpdate updateType)
 
void setUserData_i (const abiRefAny *userdata) final
 
const abiRefAnygetUserData_i () const final
 
virtual const abiRefAnygetUserData_i () const =0
 
void setErrorCallback_i (const abiErrorCB &cb) final
 
ErrCode start_i (const char *configStr, uint32_t strLen, const char *path) override
 
const char * getCaps_i (CapsPort p) const final
 
ErrCode flush_i () override
 
ErrCode stop_i () override
 
State state_i () const final
 
virtual State state_i () const =0
 

Protected Member Functions

virtual ErrCode processImpl (const int portId, GuardDataMap datamap, OnGuardDataCBImpl inputConsumedCb)=0
 
virtual ErrCode setOutputCbImpl (OnGuardDataCBImpl outputDataCb)=0
 
virtual ErrCode updateInputImpl (int portId, MixerUpdate updateType)=0
 
virtual ErrCode startImpl (const std::string &content, const std::string &path)=0
 
virtual ErrCode stopImpl ()=0
 
virtual ErrCode flushImpl ()=0
 
void setOutputCaps (const std::string &caps)
 
void setInputCaps (const std::string &caps)
 
void emitError (ErrCode code, const std::string &msg)
 
State getStateSafe () const
 
void setStateSafe (State flag)
 
ImplMutexmutex () const
 

Member Typedef Documentation

◆ ImplMutex

using ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::ImplMutex = std::recursive_mutex
inherited

Definition at line 31 of file impl_dataprocess.h.

◆ OnGuardBridgeDataCBImpl

using ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::OnGuardBridgeDataCBImpl = std::function<void(ErrCode, const struct VideoBridge2dInput*)>
inherited

Definition at line 30 of file impl_dataprocess.h.

◆ OnGuardDataCBImpl

Definition at line 29 of file impl_dataprocess.h.

Constructor & Destructor Documentation

◆ BaseImplDataMixer()

ds3d::impl::BaseImplDataMixer::BaseImplDataMixer ( )
inline

Definition at line 36 of file impl_datamixer.h.

◆ ~BaseImplDataMixer()

ds3d::impl::BaseImplDataMixer::~BaseImplDataMixer ( )
overridedefault

Member Function Documentation

◆ emitError()

void ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::emitError ( ErrCode  code,
const std::string &  msg 
)
inlineprotectedinherited

Definition at line 105 of file impl_dataprocess.h.

◆ flush_i()

ErrCode ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::flush_i
inlineoverridevirtualinherited

Implements ds3d::abiProcess.

Definition at line 72 of file impl_dataprocess.h.

◆ flushImpl()

virtual ErrCode ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::flushImpl
protectedpure virtualinherited

◆ getCaps_i()

const char* ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::getCaps_i ( CapsPort  p) const
inlinefinalvirtualinherited

Implements ds3d::abiProcess.

Definition at line 62 of file impl_dataprocess.h.

◆ getStateSafe()

State ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::getStateSafe
inlineprotectedinherited

Definition at line 112 of file impl_dataprocess.h.

◆ getUserData_i() [1/2]

virtual const abiRefAny* ds3d::abiProcess::getUserData_i ( ) const
pure virtualinherited

◆ getUserData_i() [2/2]

const abiRefAny* ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::getUserData_i
inlinefinalinherited

Definition at line 48 of file impl_dataprocess.h.

◆ mutex()

ImplMutex& ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::mutex
inlineprotectedinherited

Definition at line 125 of file impl_dataprocess.h.

◆ process_i()

ErrCode ds3d::impl::BaseImplDataMixer::process_i ( const int  portId,
const abiRefDataMap inputData,
const abiOnDataCB inputDataConsumedCb 
)
inlinefinalvirtual

◆ processImpl()

virtual ErrCode ds3d::impl::BaseImplDataMixer::processImpl ( const int  portId,
GuardDataMap  datamap,
OnGuardDataCBImpl  inputConsumedCb 
)
protectedpure virtual

Referenced by process_i().

◆ setErrorCallback_i()

void ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::setErrorCallback_i ( const abiErrorCB cb)
inlinefinalvirtualinherited

Implements ds3d::abiProcess.

Definition at line 49 of file impl_dataprocess.h.

◆ setInputCaps()

void ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::setInputCaps ( const std::string &  caps)
inlineprotectedinherited

Definition at line 103 of file impl_dataprocess.h.

◆ setOutputCaps()

void ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::setOutputCaps ( const std::string &  caps)
inlineprotectedinherited

Definition at line 101 of file impl_dataprocess.h.

◆ setOutputCb_i()

ErrCode ds3d::impl::BaseImplDataMixer::setOutputCb_i ( const abiOnDataCB outputDataCb)
inlinefinalvirtual

◆ setOutputCbImpl()

virtual ErrCode ds3d::impl::BaseImplDataMixer::setOutputCbImpl ( OnGuardDataCBImpl  outputDataCb)
protectedpure virtual

Referenced by setOutputCb_i().

◆ setStateSafe()

void ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::setStateSafe ( State  flag)
inlineprotectedinherited

Definition at line 118 of file impl_dataprocess.h.

◆ setUserData_i()

void ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::setUserData_i ( const abiRefAny userdata)
inlinefinalvirtualinherited

Implements ds3d::abiProcess.

Definition at line 40 of file impl_dataprocess.h.

◆ start_i()

ErrCode ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::start_i ( const char *  configStr,
uint32_t  strLen,
const char *  path 
)
inlineoverridevirtualinherited

Implements ds3d::abiProcess.

Definition at line 50 of file impl_dataprocess.h.

◆ startImpl()

virtual ErrCode ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::startImpl ( const std::string &  content,
const std::string &  path 
)
protectedpure virtualinherited

◆ state_i() [1/2]

virtual State ds3d::abiProcess::state_i ( ) const
pure virtualinherited

◆ state_i() [2/2]

State ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::state_i
inlinefinalinherited

Definition at line 92 of file impl_dataprocess.h.

◆ stop_i()

ErrCode ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::stop_i
inlineoverridevirtualinherited

Implements ds3d::abiProcess.

Definition at line 80 of file impl_dataprocess.h.

◆ stopImpl()

virtual ErrCode ds3d::impl::BaseImplDataProcessor< abiDataMixer , >::stopImpl
protectedpure virtualinherited

◆ updateInput_i()

ErrCode ds3d::impl::BaseImplDataMixer::updateInput_i ( int  portId,
MixerUpdate  updateType 
)
inlinevirtual

Implements ds3d::abiDataMixer.

Definition at line 74 of file impl_datamixer.h.

References updateInputImpl().

◆ updateInputImpl()

virtual ErrCode ds3d::impl::BaseImplDataMixer::updateInputImpl ( int  portId,
MixerUpdate  updateType 
)
protectedpure virtual

Referenced by updateInput_i().


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