|
|
NVIDIA DeepStream SDK API Reference
|
9.2 Release
|
Go to the documentation of this file.
18 #ifndef DS3D_COMMON_HPP_DATA_PROCESS_HPP
19 #define DS3D_COMMON_HPP_DATA_PROCESS_HPP
21 #include <ds3d/common/abi_dataprocess.h>
22 #include <ds3d/common/abi_frame.h>
23 #include <ds3d/common/abi_obj.h>
24 #include <ds3d/common/common.h>
25 #include <ds3d/common/func_utils.h>
27 #include <ds3d/common/hpp/datamap.hpp>
28 #include <ds3d/common/hpp/obj.hpp>
32 template <
class abiDataProcessorT, _EnableIfBaseOf<abiProcess, abiDataProcessorT> = true>
33 class GuardDataProcess :
public GuardDataT<abiDataProcessorT> {
34 using _Base = GuardDataT<abiDataProcessorT>;
38 template <
typename... Args >
47 template <
typename DelF>
52 ptr()->setUserData_i(
nullptr);
56 ptr()->setUserData_i(&uData);
63 return (udata ? udata->
data() :
nullptr);
71 ptr()->setErrorCallback_i(*guardErrCb.
abiRef());
74 ErrCode start(
const std::string& content,
const std::string& path =
"")
77 return ptr()->start_i(content.c_str(), content.size(), path.c_str());
83 return ptr()->flush_i();
89 return ptr()->stop_i();
95 return ptr()->state_i();
110 #endif // DS3D_COMMON_HPP_DATA_PROCESS_HPP
std::string getOutputCaps()
std::string getInputCaps()
virtual void * getUserData() const
GuardDataProcess(Args &&... args)
void setErrorCallback(abiErrorCB::CppFunc errCb)
~GuardDataProcess()=default
std::string getCaps(CapsPort port)
constexpr absl::OTABSL_OPTION_NAMESPACE_NAME::remove_reference_t< T > && move(T &&t) noexcept
State
All custom-libs need create the abi reference for DataLoader, DataRender, and DataFilter.
abiDataProcessorT * ptr() const
void setUserData(void *data, DelF delF)
Extensions to the C++ standard library.
ErrCode start(const std::string &content, const std::string &path="")
constexpr T && forward(absl::OTABSL_OPTION_NAMESPACE_NAME::remove_reference_t< T > &t) noexcept
std::string cppString(const char *str, size_t len=0)
virtual T * data() const =0
std::function< void(Args...)> CppFunc
GuardDataProcess()=default