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.
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 abiRefAny * | getUserData_i () const final |
virtual const abiRefAny * | getUserData_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) |
ImplMutex & | mutex () const |
|
inherited |
Definition at line 31 of file impl_dataprocess.h.
|
inherited |
Definition at line 30 of file impl_dataprocess.h.
|
inherited |
Definition at line 29 of file impl_dataprocess.h.
|
inline |
Definition at line 38 of file impl_dataloader.h.
|
overridedefault |
|
inlineprotectedinherited |
Definition at line 105 of file impl_dataprocess.h.
|
inlineoverridevirtualinherited |
Implements ds3d::abiProcess.
Definition at line 72 of file impl_dataprocess.h.
|
protectedpure virtualinherited |
Implemented in ds3d::impl::SyncImplDataLoader.
|
inlinefinalvirtualinherited |
Implements ds3d::abiProcess.
Definition at line 62 of file impl_dataprocess.h.
|
inlineprotectedinherited |
Definition at line 112 of file impl_dataprocess.h.
|
pure virtualinherited |
|
inlinefinalinherited |
Definition at line 48 of file impl_dataprocess.h.
|
inlineprotectedinherited |
Definition at line 125 of file impl_dataprocess.h.
|
inlinefinalvirtual |
Implements ds3d::abiDataLoader.
Definition at line 41 of file impl_dataloader.h.
References DS3D_FAILED_RETURN, DS_ASSERT, ds3d::impl::BaseImplDataProcessor< abiDataLoader >::getStateSafe(), ds3d::kRunning, ds3d::kState, readDataImpl(), and ds3d::GuardRef< ref, >::release().
|
inlinefinalvirtual |
Implements ds3d::abiDataLoader.
Definition at line 51 of file impl_dataloader.h.
References DS3D_FAILED_RETURN, ds3d::impl::BaseImplDataProcessor< abiDataLoader >::getStateSafe(), ds3d::kRunning, ds3d::kState, and readDataAsyncImpl().
|
protectedpure virtual |
Implemented in ds3d::impl::SyncImplDataLoader.
Referenced by readDataAsync_i().
|
protectedpure virtual |
Referenced by readData_i().
|
inlinefinalvirtualinherited |
Implements ds3d::abiProcess.
Definition at line 49 of file impl_dataprocess.h.
|
inlineprotectedinherited |
Definition at line 103 of file impl_dataprocess.h.
|
inlineprotectedinherited |
Definition at line 101 of file impl_dataprocess.h.
|
inlineprotectedinherited |
Definition at line 118 of file impl_dataprocess.h.
|
inlinefinalvirtualinherited |
Implements ds3d::abiProcess.
Definition at line 40 of file impl_dataprocess.h.
|
inlineoverridevirtualinherited |
Implements ds3d::abiProcess.
Definition at line 50 of file impl_dataprocess.h.
|
protectedpure virtualinherited |
|
pure virtualinherited |
|
inlinefinalinherited |
Definition at line 92 of file impl_dataprocess.h.
|
inlineoverridevirtualinherited |
Implements ds3d::abiProcess.
Definition at line 80 of file impl_dataprocess.h.
|
protectedpure virtualinherited |