NVIDIA DeepStream SDK API Reference

6.4 Release
ds3d::impl::BaseImplDataLoader Class Referenceabstract

Detailed Description

Any custom dataloader must derive from BaseImplDataLoader, For convenience, If dataloader is in sync mode, user can also derive from SyncImplDataLoader.

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 dataloader readDataImpl(), // read data in sync mode, return kEndOfStream if end of stream. readDataAsyncImpl(dataReadyCb), // read data in async mode. Once data is ready, need call dataReadyCb(datamap) to notify application flushImpl(), // flush data in process

Definition at line 36 of file impl_dataloader.h.

Inheritance diagram for ds3d::impl::BaseImplDataLoader:
Collaboration diagram for ds3d::impl::BaseImplDataLoader:

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

 BaseImplDataLoader ()
 
 ~BaseImplDataLoader () override=default
 
ErrCode readData_i (abiRefDataMap *&datamap) final
 
ErrCode readDataAsync_i (const abiOnDataCB *dataReadyCb) final
 
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 readDataImpl (GuardDataMap &datamap)=0
 
virtual ErrCode readDataAsyncImpl (OnGuardDataCBImpl dataReadCB)=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< abiDataLoader , >::ImplMutex = std::recursive_mutex
inherited

Definition at line 31 of file impl_dataprocess.h.

◆ OnGuardBridgeDataCBImpl

using ds3d::impl::BaseImplDataProcessor< abiDataLoader , >::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

◆ BaseImplDataLoader()

ds3d::impl::BaseImplDataLoader::BaseImplDataLoader ( )
inline

Definition at line 38 of file impl_dataloader.h.

◆ ~BaseImplDataLoader()

ds3d::impl::BaseImplDataLoader::~BaseImplDataLoader ( )
overridedefault

Member Function Documentation

◆ emitError()

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

Definition at line 105 of file impl_dataprocess.h.

◆ flush_i()

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

Implements ds3d::abiProcess.

Definition at line 72 of file impl_dataprocess.h.

◆ flushImpl()

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

◆ getCaps_i()

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

Implements ds3d::abiProcess.

Definition at line 62 of file impl_dataprocess.h.

◆ getStateSafe()

State ds3d::impl::BaseImplDataProcessor< abiDataLoader , >::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< abiDataLoader , >::getUserData_i
inlinefinalinherited

Definition at line 48 of file impl_dataprocess.h.

◆ mutex()

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

Definition at line 125 of file impl_dataprocess.h.

◆ readData_i()

ErrCode ds3d::impl::BaseImplDataLoader::readData_i ( abiRefDataMap *&  datamap)
inlinefinalvirtual

◆ readDataAsync_i()

ErrCode ds3d::impl::BaseImplDataLoader::readDataAsync_i ( const abiOnDataCB dataReadyCb)
inlinefinalvirtual

◆ readDataAsyncImpl()

virtual ErrCode ds3d::impl::BaseImplDataLoader::readDataAsyncImpl ( OnGuardDataCBImpl  dataReadCB)
protectedpure virtual

Implemented in ds3d::impl::SyncImplDataLoader.

Referenced by readDataAsync_i().

◆ readDataImpl()

virtual ErrCode ds3d::impl::BaseImplDataLoader::readDataImpl ( GuardDataMap datamap)
protectedpure virtual

Referenced by readData_i().

◆ setErrorCallback_i()

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

Implements ds3d::abiProcess.

Definition at line 49 of file impl_dataprocess.h.

◆ setInputCaps()

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

Definition at line 103 of file impl_dataprocess.h.

◆ setOutputCaps()

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

Definition at line 101 of file impl_dataprocess.h.

◆ setStateSafe()

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

Definition at line 118 of file impl_dataprocess.h.

◆ setUserData_i()

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

Implements ds3d::abiProcess.

Definition at line 40 of file impl_dataprocess.h.

◆ start_i()

ErrCode ds3d::impl::BaseImplDataProcessor< abiDataLoader , >::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< abiDataLoader , >::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< abiDataLoader , >::state_i
inlinefinalinherited

Definition at line 92 of file impl_dataprocess.h.

◆ stop_i()

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

Implements ds3d::abiProcess.

Definition at line 80 of file impl_dataprocess.h.

◆ stopImpl()

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

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