NVIDIA DeepStream SDK API Reference

9.2 Release
ds3d::GuardDataMixer Class Reference

Detailed Description

GuardDataMixer is the safe access entry for abiDataMixer.

Applications can use it to make C-based APIs safer. it would manage abiRefDataMixer automatically. with that, App user do not need to refCopy_i or destroy abiRefDataMixer manually.

For example: abiRefDataMixer* rawRef = creator(); GuardDataMixer guardMixer(rawRef, true); // take the ownership of rawRef guardMixer.setUserData(userdata, [](void*){ ...free... }); guardMixer.setErrorCallback([](ErrCode c, const char* msg){ stderr << msg; }); ErrCode c = guardMixer.start(config, path); DS_ASSERT(isGood(c)); c = guardMixer.start(config, path); // invoke abiDataMixer::start_i(...) GuardDataMap inputData = ...; // prepare input data // invoke abiDataMixer::process_i(...) c = guardMixer.process(inputData, [](ErrCode c, const abiRefDataMap* d){ GuardDataMap outputData(<em>d); // output data processing std::cout << "output data processing starts" << std::endl; }, [](ErrCode c, const abiRefDataMap d){ GuardDataMap doneData(*d); std::cout << "input data consumed" << std::endl; }); DS_ASSERT(isGood(c)); //... wait for all data processed before stop c = guardMixer.flush(); c = guardMixer.stop(); // invoke abiDataMixer::stop_i(...) guardMixer.reset(); // destroy abiRefDataMixer, when all reference // destroyed, abiDataMixer would be freed.

Definition at line 59 of file includes/ds3d/common/hpp/datamixer.hpp.

Inheritance diagram for ds3d::GuardDataMixer:
Collaboration diagram for ds3d::GuardDataMixer:

Public Types

using abiRefType = abiRefT< abiDataMixer >
 
using abiRefType = abiRefT< abiDataMixer >
 
using abiRefType = abiRefT< abiDataMixer >
 
using abiRefType = abiRefT< abiDataMixer >
 

Public Member Functions

template<typename... Args>
 GuardDataMixer (Args &&... args)
 
 ~GuardDataMixer ()=default
 
ErrCode process (const int portId, GuardDataMap datamap, abiOnDataCB::CppFunc inputConsumedCB)
 
ErrCode setOutputCb (abiOnDataCB::CppFunc outputDataCB)
 
ErrCode updateInput (int portId, MixerUpdate updateType)
 
template<typename... Args>
 GuardDataMixer (Args &&... args)
 
 ~GuardDataMixer ()=default
 
ErrCode process (const int portId, GuardDataMap datamap, abiOnDataCB::CppFunc inputConsumedCB)
 
ErrCode setOutputCb (abiOnDataCB::CppFunc outputDataCB)
 
ErrCode updateInput (int portId, MixerUpdate updateType)
 
template<typename... Args>
 GuardDataMixer (Args &&... args)
 
 ~GuardDataMixer ()=default
 
ErrCode process (const int portId, GuardDataMap datamap, abiOnDataCB::CppFunc inputConsumedCB)
 
ErrCode setOutputCb (abiOnDataCB::CppFunc outputDataCB)
 
ErrCode updateInput (int portId, MixerUpdate updateType)
 
template<typename... Args>
 GuardDataMixer (Args &&... args)
 
 ~GuardDataMixer ()=default
 
ErrCode process (const int portId, GuardDataMap datamap, abiOnDataCB::CppFunc inputConsumedCB)
 
ErrCode setOutputCb (abiOnDataCB::CppFunc outputDataCB)
 
ErrCode updateInput (int portId, MixerUpdate updateType)
 
void setUserData (void *data, DelF delF)
 
void setUserData (void *data, DelF delF)
 
void setUserData (void *data, DelF delF)
 
void setUserData (void *data, DelF delF)
 
virtual void * getUserData () const
 
virtual void * getUserData () const
 
virtual void * getUserData () const
 
virtual void * getUserData () const
 
void setErrorCallback (abiErrorCB::CppFunc errCb)
 
void setErrorCallback (abiErrorCB::CppFunc errCb)
 
void setErrorCallback (abiErrorCB::CppFunc errCb)
 
void setErrorCallback (abiErrorCB::CppFunc errCb)
 
ErrCode start (const std::string &content, const std::string &path="")
 
ErrCode start (const std::string &content, const std::string &path="")
 
ErrCode start (const std::string &content, const std::string &path="")
 
ErrCode start (const std::string &content, const std::string &path="")
 
ErrCode flush ()
 
ErrCode flush ()
 
ErrCode flush ()
 
ErrCode flush ()
 
ErrCode stop ()
 
ErrCode stop ()
 
ErrCode stop ()
 
ErrCode stop ()
 
State state () const
 
State state () const
 
State state () const
 
State state () const
 
std::string getCaps (CapsPort port)
 
std::string getCaps (CapsPort port)
 
std::string getCaps (CapsPort port)
 
std::string getCaps (CapsPort port)
 
std::string getOutputCaps ()
 
std::string getOutputCaps ()
 
std::string getOutputCaps ()
 
std::string getOutputCaps ()
 
std::string getInputCaps ()
 
std::string getInputCaps ()
 
std::string getInputCaps ()
 
std::string getInputCaps ()
 
GuardTy cast ()
 
GuardTy cast ()
 
GuardTy cast ()
 
GuardTy cast ()
 
abiDataMixer * ptr () const
 
abiDataMixer * ptr () const
 
abiDataMixer * ptr () const
 
abiDataMixer * ptr () const
 
abiDataMixer * operator-> () const
 
abiDataMixer * operator-> () const
 
abiDataMixer * operator-> () const
 
abiDataMixer * operator-> () const
 
 operator bool () const
 
 operator bool () const
 
 operator bool () const
 
 operator bool () const
 
 operator ShrdPtr< abiDataMixer > ()
 
 operator ShrdPtr< abiDataMixer > ()
 
 operator ShrdPtr< abiDataMixer > ()
 
 operator ShrdPtr< abiDataMixer > ()
 
abiRefT< abiDataMixer > * release ()
 
abiRefT< abiDataMixer > * release ()
 
abiRefT< abiDataMixer > * release ()
 
abiRefT< abiDataMixer > * release ()
 
void reset (abiRefT< abiDataMixer > *abiref=nullptr)
 
void reset (abiRefT< abiDataMixer > *abiref=nullptr)
 
void reset (abiRefT< abiDataMixer > *abiref=nullptr)
 
void reset (abiRefT< abiDataMixer > *abiref=nullptr)
 
abiRefT< abiDataMixer > * abiRef () const
 
abiRefT< abiDataMixer > * abiRef () const
 
abiRefT< abiDataMixer > * abiRef () const
 
abiRefT< abiDataMixer > * abiRef () const
 

Member Typedef Documentation

◆ abiRefType [1/4]

◆ abiRefType [2/4]

◆ abiRefType [3/4]

◆ abiRefType [4/4]

Constructor & Destructor Documentation

◆ GuardDataMixer() [1/4]

template<typename... Args>
ds3d::GuardDataMixer::GuardDataMixer ( Args &&...  args)
inline

Definition at line 64 of file includes/ds3d/common/hpp/datamixer.hpp.

◆ ~GuardDataMixer() [1/4]

ds3d::GuardDataMixer::~GuardDataMixer ( )
default

◆ GuardDataMixer() [2/4]

template<typename... Args>
ds3d::GuardDataMixer::GuardDataMixer ( Args &&...  args)
inline

Definition at line 64 of file sources/libs/ds3d/common/hpp/datamixer.hpp.

◆ ~GuardDataMixer() [2/4]

ds3d::GuardDataMixer::~GuardDataMixer ( )
default

◆ GuardDataMixer() [3/4]

template<typename... Args>
ds3d::GuardDataMixer::GuardDataMixer ( Args &&...  args)
inline

Definition at line 64 of file 9.2/includes/ds3d/common/hpp/datamixer.hpp.

◆ ~GuardDataMixer() [3/4]

ds3d::GuardDataMixer::~GuardDataMixer ( )
default

◆ GuardDataMixer() [4/4]

template<typename... Args>
ds3d::GuardDataMixer::GuardDataMixer ( Args &&...  args)
inline

◆ ~GuardDataMixer() [4/4]

ds3d::GuardDataMixer::~GuardDataMixer ( )
default

Member Function Documentation

◆ abiRef() [1/4]

abiRefT< abiDataMixer > * ds3d::GuardRef< abiRefT< abiDataMixer > , >::abiRef
inlineinherited

Definition at line 273 of file includes/ds3d/common/hpp/obj.hpp.

◆ abiRef() [2/4]

abiRefT< abiDataMixer > * ds3d::GuardRef< abiRefT< abiDataMixer > , >::abiRef
inlineinherited

Definition at line 273 of file sources/libs/ds3d/common/hpp/obj.hpp.

◆ abiRef() [3/4]

abiRefT< abiDataMixer > * ds3d::GuardRef< abiRefT< abiDataMixer > , >::abiRef
inlineinherited

Definition at line 273 of file 9.2/includes/ds3d/common/hpp/obj.hpp.

◆ abiRef() [4/4]

abiRefT< abiDataMixer > * ds3d::GuardRef< abiRefT< abiDataMixer > , >::abiRef
inlineinherited

Definition at line 273 of file 9.2/sources/libs/ds3d/common/hpp/obj.hpp.

◆ cast() [1/4]

GuardTy ds3d::GuardDataT< abiDataMixer >::cast
inlineinherited

Definition at line 360 of file includes/ds3d/common/hpp/obj.hpp.

◆ cast() [2/4]

GuardTy ds3d::GuardDataT< abiDataMixer >::cast
inlineinherited

Definition at line 360 of file sources/libs/ds3d/common/hpp/obj.hpp.

◆ cast() [3/4]

GuardTy ds3d::GuardDataT< abiDataMixer >::cast
inlineinherited

Definition at line 360 of file 9.2/includes/ds3d/common/hpp/obj.hpp.

◆ cast() [4/4]

GuardTy ds3d::GuardDataT< abiDataMixer >::cast
inlineinherited

Definition at line 360 of file 9.2/sources/libs/ds3d/common/hpp/obj.hpp.

◆ flush() [1/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::flush
inlineinherited

◆ flush() [2/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::flush
inlineinherited

Definition at line 80 of file includes/ds3d/common/hpp/dataprocess.hpp.

◆ flush() [3/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::flush
inlineinherited

Definition at line 80 of file sources/libs/ds3d/common/hpp/dataprocess.hpp.

◆ flush() [4/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::flush
inlineinherited

Definition at line 80 of file 9.2/includes/ds3d/common/hpp/dataprocess.hpp.

◆ getCaps() [1/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getCaps ( CapsPort  port)
inlineinherited

Definition at line 98 of file sources/libs/ds3d/common/hpp/dataprocess.hpp.

◆ getCaps() [2/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getCaps ( CapsPort  port)
inlineinherited

Definition at line 98 of file includes/ds3d/common/hpp/dataprocess.hpp.

◆ getCaps() [3/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getCaps ( CapsPort  port)
inlineinherited

Definition at line 98 of file 9.2/includes/ds3d/common/hpp/dataprocess.hpp.

◆ getCaps() [4/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getCaps ( CapsPort  port)
inlineinherited

◆ getInputCaps() [1/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getInputCaps
inlineinherited

◆ getInputCaps() [2/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getInputCaps
inlineinherited

◆ getInputCaps() [3/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getInputCaps
inlineinherited

◆ getInputCaps() [4/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getInputCaps
inlineinherited

Definition at line 105 of file includes/ds3d/common/hpp/dataprocess.hpp.

◆ getOutputCaps() [1/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getOutputCaps
inlineinherited

Definition at line 104 of file includes/ds3d/common/hpp/dataprocess.hpp.

◆ getOutputCaps() [2/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getOutputCaps
inlineinherited

◆ getOutputCaps() [3/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getOutputCaps
inlineinherited

◆ getOutputCaps() [4/4]

std::string ds3d::GuardDataProcess< abiDataMixer , >::getOutputCaps
inlineinherited

◆ getUserData() [1/4]

virtual void* ds3d::GuardDataProcess< abiDataMixer , >::getUserData
inlinevirtualinherited

Definition at line 59 of file sources/libs/ds3d/common/hpp/dataprocess.hpp.

◆ getUserData() [2/4]

virtual void* ds3d::GuardDataProcess< abiDataMixer , >::getUserData
inlinevirtualinherited

Definition at line 59 of file 9.2/includes/ds3d/common/hpp/dataprocess.hpp.

◆ getUserData() [3/4]

virtual void* ds3d::GuardDataProcess< abiDataMixer , >::getUserData
inlinevirtualinherited

◆ getUserData() [4/4]

virtual void* ds3d::GuardDataProcess< abiDataMixer , >::getUserData
inlinevirtualinherited

Definition at line 59 of file includes/ds3d/common/hpp/dataprocess.hpp.

◆ operator bool() [1/4]

ds3d::GuardDataT< abiDataMixer >::operator bool
inlineinherited

Definition at line 374 of file includes/ds3d/common/hpp/obj.hpp.

◆ operator bool() [2/4]

ds3d::GuardDataT< abiDataMixer >::operator bool
inlineinherited

Definition at line 374 of file sources/libs/ds3d/common/hpp/obj.hpp.

◆ operator bool() [3/4]

ds3d::GuardDataT< abiDataMixer >::operator bool
inlineinherited

Definition at line 374 of file 9.2/sources/libs/ds3d/common/hpp/obj.hpp.

◆ operator bool() [4/4]

ds3d::GuardDataT< abiDataMixer >::operator bool
inlineinherited

Definition at line 374 of file 9.2/includes/ds3d/common/hpp/obj.hpp.

◆ operator ShrdPtr< abiDataMixer >() [1/4]

ds3d::GuardDataT< abiDataMixer >::operator ShrdPtr< abiDataMixer >
inlineinherited

Definition at line 376 of file includes/ds3d/common/hpp/obj.hpp.

◆ operator ShrdPtr< abiDataMixer >() [2/4]

ds3d::GuardDataT< abiDataMixer >::operator ShrdPtr< abiDataMixer >
inlineinherited

Definition at line 376 of file sources/libs/ds3d/common/hpp/obj.hpp.

◆ operator ShrdPtr< abiDataMixer >() [3/4]

ds3d::GuardDataT< abiDataMixer >::operator ShrdPtr< abiDataMixer >
inlineinherited

Definition at line 376 of file 9.2/sources/libs/ds3d/common/hpp/obj.hpp.

◆ operator ShrdPtr< abiDataMixer >() [4/4]

ds3d::GuardDataT< abiDataMixer >::operator ShrdPtr< abiDataMixer >
inlineinherited

Definition at line 376 of file 9.2/includes/ds3d/common/hpp/obj.hpp.

◆ operator->() [1/4]

abiDataMixer * ds3d::GuardDataT< abiDataMixer >::operator->
inlineinherited

Definition at line 372 of file 9.2/sources/libs/ds3d/common/hpp/obj.hpp.

◆ operator->() [2/4]

abiDataMixer * ds3d::GuardDataT< abiDataMixer >::operator->
inlineinherited

Definition at line 372 of file 9.2/includes/ds3d/common/hpp/obj.hpp.

◆ operator->() [3/4]

abiDataMixer * ds3d::GuardDataT< abiDataMixer >::operator->
inlineinherited

Definition at line 372 of file includes/ds3d/common/hpp/obj.hpp.

◆ operator->() [4/4]

abiDataMixer * ds3d::GuardDataT< abiDataMixer >::operator->
inlineinherited

Definition at line 372 of file sources/libs/ds3d/common/hpp/obj.hpp.

◆ process() [1/4]

◆ process() [2/4]

◆ process() [3/4]

◆ process() [4/4]

◆ ptr() [1/4]

abiDataMixer * ds3d::GuardDataT< abiDataMixer >::ptr
inlineinherited

Definition at line 365 of file 9.2/includes/ds3d/common/hpp/obj.hpp.

◆ ptr() [2/4]

abiDataMixer * ds3d::GuardDataT< abiDataMixer >::ptr
inlineinherited

Definition at line 365 of file includes/ds3d/common/hpp/obj.hpp.

◆ ptr() [3/4]

abiDataMixer * ds3d::GuardDataT< abiDataMixer >::ptr
inlineinherited

Definition at line 365 of file sources/libs/ds3d/common/hpp/obj.hpp.

◆ ptr() [4/4]

abiDataMixer * ds3d::GuardDataT< abiDataMixer >::ptr
inlineinherited

Definition at line 365 of file 9.2/sources/libs/ds3d/common/hpp/obj.hpp.

◆ release() [1/4]

abiRefT< abiDataMixer > * ds3d::GuardRef< abiRefT< abiDataMixer > , >::release
inlineinherited

Definition at line 257 of file 9.2/includes/ds3d/common/hpp/obj.hpp.

◆ release() [2/4]

abiRefT< abiDataMixer > * ds3d::GuardRef< abiRefT< abiDataMixer > , >::release
inlineinherited

Definition at line 257 of file includes/ds3d/common/hpp/obj.hpp.

◆ release() [3/4]

abiRefT< abiDataMixer > * ds3d::GuardRef< abiRefT< abiDataMixer > , >::release
inlineinherited

Definition at line 257 of file sources/libs/ds3d/common/hpp/obj.hpp.

◆ release() [4/4]

abiRefT< abiDataMixer > * ds3d::GuardRef< abiRefT< abiDataMixer > , >::release
inlineinherited

Definition at line 257 of file 9.2/sources/libs/ds3d/common/hpp/obj.hpp.

◆ reset() [1/4]

void ds3d::GuardRef< abiRefT< abiDataMixer > , >::reset ( abiRefT< abiDataMixer > *  abiref = nullptr)
inlineinherited

Definition at line 264 of file 9.2/sources/libs/ds3d/common/hpp/obj.hpp.

◆ reset() [2/4]

void ds3d::GuardRef< abiRefT< abiDataMixer > , >::reset ( abiRefT< abiDataMixer > *  abiref = nullptr)
inlineinherited

Definition at line 264 of file includes/ds3d/common/hpp/obj.hpp.

◆ reset() [3/4]

void ds3d::GuardRef< abiRefT< abiDataMixer > , >::reset ( abiRefT< abiDataMixer > *  abiref = nullptr)
inlineinherited

Definition at line 264 of file sources/libs/ds3d/common/hpp/obj.hpp.

◆ reset() [4/4]

void ds3d::GuardRef< abiRefT< abiDataMixer > , >::reset ( abiRefT< abiDataMixer > *  abiref = nullptr)
inlineinherited

Definition at line 264 of file 9.2/includes/ds3d/common/hpp/obj.hpp.

◆ setErrorCallback() [1/4]

void ds3d::GuardDataProcess< abiDataMixer , >::setErrorCallback ( abiErrorCB::CppFunc  errCb)
inlineinherited

Definition at line 66 of file includes/ds3d/common/hpp/dataprocess.hpp.

◆ setErrorCallback() [2/4]

void ds3d::GuardDataProcess< abiDataMixer , >::setErrorCallback ( abiErrorCB::CppFunc  errCb)
inlineinherited

Definition at line 66 of file sources/libs/ds3d/common/hpp/dataprocess.hpp.

◆ setErrorCallback() [3/4]

void ds3d::GuardDataProcess< abiDataMixer , >::setErrorCallback ( abiErrorCB::CppFunc  errCb)
inlineinherited

Definition at line 66 of file 9.2/includes/ds3d/common/hpp/dataprocess.hpp.

◆ setErrorCallback() [4/4]

void ds3d::GuardDataProcess< abiDataMixer , >::setErrorCallback ( abiErrorCB::CppFunc  errCb)
inlineinherited

◆ setOutputCb() [1/4]

◆ setOutputCb() [2/4]

◆ setOutputCb() [3/4]

◆ setOutputCb() [4/4]

◆ setUserData() [1/4]

void ds3d::GuardDataProcess< abiDataMixer , >::setUserData ( void *  data,
DelF  delF 
)
inlineinherited

Definition at line 48 of file sources/libs/ds3d/common/hpp/dataprocess.hpp.

◆ setUserData() [2/4]

void ds3d::GuardDataProcess< abiDataMixer , >::setUserData ( void *  data,
DelF  delF 
)
inlineinherited

Definition at line 48 of file includes/ds3d/common/hpp/dataprocess.hpp.

◆ setUserData() [3/4]

void ds3d::GuardDataProcess< abiDataMixer , >::setUserData ( void *  data,
DelF  delF 
)
inlineinherited

Definition at line 48 of file 9.2/includes/ds3d/common/hpp/dataprocess.hpp.

◆ setUserData() [4/4]

void ds3d::GuardDataProcess< abiDataMixer , >::setUserData ( void *  data,
DelF  delF 
)
inlineinherited

◆ start() [1/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::start ( const std::string &  content,
const std::string &  path = "" 
)
inlineinherited

Definition at line 74 of file includes/ds3d/common/hpp/dataprocess.hpp.

◆ start() [2/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::start ( const std::string &  content,
const std::string &  path = "" 
)
inlineinherited

Definition at line 74 of file 9.2/includes/ds3d/common/hpp/dataprocess.hpp.

◆ start() [3/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::start ( const std::string &  content,
const std::string &  path = "" 
)
inlineinherited

◆ start() [4/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::start ( const std::string &  content,
const std::string &  path = "" 
)
inlineinherited

Definition at line 74 of file sources/libs/ds3d/common/hpp/dataprocess.hpp.

◆ state() [1/4]

State ds3d::GuardDataProcess< abiDataMixer , >::state
inlineinherited

◆ state() [2/4]

State ds3d::GuardDataProcess< abiDataMixer , >::state
inlineinherited

Definition at line 92 of file includes/ds3d/common/hpp/dataprocess.hpp.

◆ state() [3/4]

State ds3d::GuardDataProcess< abiDataMixer , >::state
inlineinherited

Definition at line 92 of file 9.2/includes/ds3d/common/hpp/dataprocess.hpp.

◆ state() [4/4]

State ds3d::GuardDataProcess< abiDataMixer , >::state
inlineinherited

Definition at line 92 of file sources/libs/ds3d/common/hpp/dataprocess.hpp.

◆ stop() [1/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::stop
inlineinherited

◆ stop() [2/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::stop
inlineinherited

Definition at line 86 of file 9.2/includes/ds3d/common/hpp/dataprocess.hpp.

◆ stop() [3/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::stop
inlineinherited

Definition at line 86 of file sources/libs/ds3d/common/hpp/dataprocess.hpp.

◆ stop() [4/4]

ErrCode ds3d::GuardDataProcess< abiDataMixer , >::stop
inlineinherited

Definition at line 86 of file includes/ds3d/common/hpp/dataprocess.hpp.

◆ updateInput() [1/4]

ErrCode ds3d::GuardDataMixer::updateInput ( int  portId,
MixerUpdate  updateType 
)
inline

◆ updateInput() [2/4]

ErrCode ds3d::GuardDataMixer::updateInput ( int  portId,
MixerUpdate  updateType 
)
inline

◆ updateInput() [3/4]

ErrCode ds3d::GuardDataMixer::updateInput ( int  portId,
MixerUpdate  updateType 
)
inline

◆ updateInput() [4/4]

ErrCode ds3d::GuardDataMixer::updateInput ( int  portId,
MixerUpdate  updateType 
)
inline

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