|
NVIDIA DeepStream SDK API Reference
|
7.1 Release
|
Go to the documentation of this file.
14 #ifndef _DS3D_COMMON_IMPL_BASE_DATA_PROCESS_H
15 #define _DS3D_COMMON_IMPL_BASE_DATA_PROCESS_H
21 namespace ds3d {
namespace impl {
26 template <
class abiDataProcessorT, _EnableIfBaseOf<abiProcess, abiDataProcessorT> = true>
50 ErrCode start_i(
const char* configStr, uint32_t strLen,
const char* path)
override
64 std::unique_lock<ImplMutex> lock(_mutex);
65 auto i = _caps_txt.find(p);
66 if (i != _caps_txt.cend()) {
67 return i->second.c_str();
76 "flush failed since dataloader was not started");
96 virtual ErrCode startImpl(
const std::string& content,
const std::string& path) = 0;
108 _errCB(code, msg.c_str());
114 std::unique_lock<ImplMutex> lock(_mutex);
120 std::unique_lock<ImplMutex> lock(_mutex);
128 void setCaps(
CapsPort p,
const std::string& caps)
130 std::unique_lock<ImplMutex> lock(_mutex);
135 std::unordered_map<CapsPort, std::string> _caps_txt{
137 GuardDataT<void> _userData;
145 #endif // _DS3D_COMMON_IMPL_BASE_DATA_PROCESS_H
virtual ErrCode stopImpl()=0
virtual ErrCode flushImpl()=0
ImplMutex & mutex() const
std::function< void(ErrCode, const struct VideoBridge2dInput *)> OnGuardBridgeDataCBImpl
~BaseImplDataProcessor() override
std::function< void(ErrCode, GuardDataMap)> OnGuardDataCBImpl
void emitError(ErrCode code, const std::string &msg)
const char * getCaps_i(CapsPort p) const final
const abiRefAny * getUserData_i() const final
void setErrorCallback_i(const abiErrorCB &cb) final
void setOutputCaps(const std::string &caps)
ErrCode stop_i() override
void reset(ref *abiref=nullptr)
void setStateSafe(State flag)
State getStateSafe() const
State state_i() const final
State
All custom-libs need create the abi reference for DataLoader, DataRender, and DataFilter.
ErrCode start_i(const char *configStr, uint32_t strLen, const char *path) override
std::recursive_mutex ImplMutex
BaseProcessIF could be abiDataLoader/abiDataRender/abiDataFilter or any others abi interface that der...
virtual ErrCode startImpl(const std::string &content, const std::string &path)=0
#define DS3D_FAILED_RETURN(condition, ret, fmt,...)
std::string cppString(const char *str, size_t len=0)
ErrCode flush_i() override
void setUserData_i(const abiRefAny *userdata) final
void setInputCaps(const std::string &caps)