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.
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 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 | 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) |
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 36 of file impl_datamixer.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 |
|
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::abiDataMixer.
Definition at line 39 of file impl_datamixer.h.
References DS3D_FAILED_RETURN, DS_ASSERT, ds3d::impl::BaseImplDataProcessor< abiDataMixer >::getStateSafe(), ds3d::kRunning, ds3d::kState, and processImpl().
|
protectedpure virtual |
Referenced by process_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.
|
inlinefinalvirtual |
Implements ds3d::abiDataMixer.
Definition at line 58 of file impl_datamixer.h.
References DS3D_FAILED_RETURN, DS_ASSERT, ds3d::impl::BaseImplDataProcessor< abiDataMixer >::getStateSafe(), ds3d::kRunning, ds3d::kState, and setOutputCbImpl().
|
protectedpure virtual |
Referenced by setOutputCb_i().
|
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 |
|
inlinevirtual |
Implements ds3d::abiDataMixer.
Definition at line 74 of file impl_datamixer.h.
References updateInputImpl().
|
protectedpure virtual |
Referenced by updateInput_i().