NVIDIA DeepStream SDK API Reference

8.0 Release
deepstream::BufferProbe Class Reference

Detailed Description

Represent a custom object for the purpose of probing output buffers.

Appropriate interface must be implemented and assigned to an BufferProbe instance for it to work.

BufferProbe instances are not copyable/movable.

Definition at line 58 of file service-maker/includes/buffer_probe.hpp.

Inheritance diagram for deepstream::BufferProbe:
Collaboration diagram for deepstream::BufferProbe:

Data Structures

class  IBatchMetadataObserver
 Readonly interface for handling batch metadata. More...
 
class  IBatchMetadataOperator
 Read/write interface for handling batch metadata. More...
 
class  IBufferHandler
 Derived interface for handling buffer itself. More...
 
class  IBufferObserver
 Readonly interface for handling buffer. More...
 
class  IBufferOperator
 Read/write interface for handling buffer. More...
 
class  IHandler
 Root interface required by a BufferProbe instance. More...
 
class  IMetadataHandler
 Derived interface for handling metadata. More...
 

Public Member Functions

 BufferProbe (const std::string &name, IHandler *handler)
 Constructor. More...
 
 BufferProbe (const std::string &name, const char *factory, IHandler *handler)
 Constructor for factory. More...
 
virtual ~BufferProbe ()
 Destructor. More...
 
BufferProbeattach (Element *target, Pad pad)
 Attach the BufferProbe instance to an Element instance. More...
 
ElementgetTarget ()
 Return the pointer to the element where the probe is attached. More...
 
const PadgetPad ()
 Return the pad from which the probe takes buffers. More...
 
template<typename T >
bool query (T *&interface) const
 Template class to query the type of the handler inteface. More...
 
 BufferProbe (const std::string &name, IHandler *handler)
 Constructor. More...
 
 BufferProbe (const std::string &name, const char *factory, IHandler *handler)
 Constructor for factory. More...
 
virtual ~BufferProbe ()
 Destructor. More...
 
BufferProbeattach (Element *target, Pad pad)
 Attach the BufferProbe instance to an Element instance. More...
 
ElementgetTarget ()
 Return the pointer to the element where the probe is attached. More...
 
const PadgetPad ()
 Return the pad from which the probe takes buffers. More...
 
template<typename T >
bool query (T *&interface) const
 Template class to query the type of the handler inteface. More...
 
const std::string getName () const
 Return the name assigned during the construction. More...
 
const std::string getName () const
 Return the name assigned during the construction. More...
 
 operator bool () const noexcept
 Check if the object is void. More...
 
 operator bool () const noexcept
 Check if the object is void. More...
 
bool operator== (const Object &other) noexcept
 Check if the two objects are the same. More...
 
bool operator== (const Object &other) noexcept
 Check if the two objects are the same. More...
 
GstObjectgive ()
 Give up the ownership and return the opaque pointer. More...
 
GstObjectgive ()
 Give up the ownership and return the opaque pointer. More...
 
GstObjectgetGObject ()
 Return the opaque object pointer. More...
 
GstObjectgetGObject ()
 Return the opaque object pointer. More...
 
Objecttake (GstObject *object)
 Takes the ownership of a object through the opaque pointer. More...
 
Objecttake (GstObject *object)
 Takes the ownership of a object through the opaque pointer. More...
 
Objectseize (GstObject *object)
 Seize a opaque object to prevent it from being destroyed somewhere. More...
 
Objectseize (GstObject *object)
 Seize a opaque object to prevent it from being destroyed somewhere. More...
 
Objectset (const YAML::Node &params)
 Set the properties from key/value pairs in the yaml format. More...
 
Objectset (const std::string &name, const Value &value)
 
template<typename T , typename... Args>
Objectset (const std::string &name, const T &value, const Args &... args)
 
Objectset (const YAML::Node &params)
 Set the properties from key/value pairs in the yaml format. More...
 
Objectset (const std::string &name, const Value &value)
 
template<typename T , typename... Args>
Objectset (const std::string &name, const T &value, const Args &... args)
 
template<typename T , typename... Args>
ObjectgetProperty (const std::string &name, T &value, Args &... args)
 Template for getting multiple properties. More...
 
template<typename T , typename... Args>
ObjectgetProperty (const std::string &name, T &value, Args &... args)
 Template for getting multiple properties. More...
 
std::vector< std::string > listSignals (bool is_action)
 List all the supported signals from the object. More...
 
std::vector< std::string > listSignals (bool is_action)
 List all the supported signals from the object. More...
 
bool connectSignal (const std::string &signal_name, SignalHandler &handler)
 Connect a signal handler to the object. More...
 
bool connectSignal (const std::string &signal_name, SignalHandler &handler)
 Connect a signal handler to the object. More...
 
void emitSignal (const std::string &signal_name, va_list args)
 Emit a signal. More...
 
void emitSignal (const std::string &signal_name, va_list args)
 Emit a signal. More...
 

Static Public Member Functions

static unsigned long type ()
 Get the unique id associated with this type of BufferProbe. More...
 
static unsigned long type ()
 Get the unique id associated with this type of BufferProbe. More...
 

Protected Member Functions

virtual void set_ (const std::string &name, const Value &value)
 
virtual void set_ (const std::string &name, const YAML::Node &value)
 
virtual void set_ (const std::string &name, const Value &value)
 
virtual void set_ (const std::string &name, const YAML::Node &value)
 
virtual Value get_ (const std::string &name)
 
virtual Value get_ (const std::string &name)
 

Protected Attributes

std::unique_ptr< IHandlermetadata_handler_
 Buffer probe takes the ownership of the handler instance assigned to it during construction. More...
 
Pad pad_
 the Pad from which the probe takes buffers, More...
 
Elementtarget_
 weak reference to the target element to which it is attached, More...
 
std::string param_spec_
 property spec in YAML format More...
 
std::map< std::string, Object::Valueproperties_
 property map More...
 
GstObjectobject_
 

Constructor & Destructor Documentation

◆ BufferProbe() [1/4]

deepstream::BufferProbe::BufferProbe ( const std::string &  name,
IHandler handler 
)

Constructor.

Create a BufferProbe instance with user implemented handler interface

Parameters
[in]namename of the instance
[in]handlerimplementation of the IHandler interface

◆ BufferProbe() [2/4]

deepstream::BufferProbe::BufferProbe ( const std::string &  name,
const char *  factory,
IHandler handler 
)

Constructor for factory.

Create a BufferProbe instance with user implemented handler interface

Parameters
[in]namename of the instance
[in]handlerimplementation of the IHandler interface

◆ ~BufferProbe() [1/2]

virtual deepstream::BufferProbe::~BufferProbe ( )
virtual

Destructor.

◆ BufferProbe() [3/4]

deepstream::BufferProbe::BufferProbe ( const std::string &  name,
IHandler handler 
)

Constructor.

Create a BufferProbe instance with user implemented handler interface

Parameters
[in]namename of the instance
[in]handlerimplementation of the IHandler interface

◆ BufferProbe() [4/4]

deepstream::BufferProbe::BufferProbe ( const std::string &  name,
const char *  factory,
IHandler handler 
)

Constructor for factory.

Create a BufferProbe instance with user implemented handler interface

Parameters
[in]namename of the instance
[in]handlerimplementation of the IHandler interface

◆ ~BufferProbe() [2/2]

virtual deepstream::BufferProbe::~BufferProbe ( )
virtual

Destructor.

Member Function Documentation

◆ attach() [1/2]

BufferProbe& deepstream::BufferProbe::attach ( Element target,
Pad  pad 
)

Attach the BufferProbe instance to an Element instance.

The probe must be attached to the output.

Parameters
[in]targetpointer to the Element instance
[in]padtarget pad from which the probe takes buffers

◆ attach() [2/2]

BufferProbe& deepstream::BufferProbe::attach ( Element target,
Pad  pad 
)

Attach the BufferProbe instance to an Element instance.

The probe must be attached to the output.

Parameters
[in]targetpointer to the Element instance
[in]padtarget pad from which the probe takes buffers

◆ connectSignal() [1/2]

bool deepstream::Object::connectSignal ( const std::string &  signal_name,
SignalHandler handler 
)
inherited

Connect a signal handler to the object.

Parameters
[in]signal_namename of the signal to be connected
[in]handlerhandler for the signal

◆ connectSignal() [2/2]

bool deepstream::Object::connectSignal ( const std::string &  signal_name,
SignalHandler handler 
)
inherited

Connect a signal handler to the object.

Parameters
[in]signal_namename of the signal to be connected
[in]handlerhandler for the signal

◆ emitSignal() [1/2]

void deepstream::Object::emitSignal ( const std::string &  signal_name,
va_list  args 
)
inherited

Emit a signal.

◆ emitSignal() [2/2]

void deepstream::Object::emitSignal ( const std::string &  signal_name,
va_list  args 
)
inherited

Emit a signal.

◆ get_() [1/2]

virtual Value deepstream::CustomObject::get_ ( const std::string &  name)
protectedvirtualinherited

Reimplemented from deepstream::Object.

◆ get_() [2/2]

virtual Value deepstream::CustomObject::get_ ( const std::string &  name)
protectedvirtualinherited

Reimplemented from deepstream::Object.

◆ getGObject() [1/2]

GstObject* deepstream::Object::getGObject ( )
inlineinherited

Return the opaque object pointer.

Definition at line 140 of file service-maker/includes/object.hpp.

References deepstream::Object::object_.

◆ getGObject() [2/2]

GstObject* deepstream::Object::getGObject ( )
inlineinherited

Return the opaque object pointer.

Definition at line 140 of file 9.0/service-maker/includes/object.hpp.

References deepstream::Object::object_.

◆ getName() [1/2]

const std::string deepstream::Object::getName ( ) const
inherited

Return the name assigned during the construction.

◆ getName() [2/2]

const std::string deepstream::Object::getName ( ) const
inherited

Return the name assigned during the construction.

◆ getPad() [1/2]

const Pad& deepstream::BufferProbe::getPad ( )
inline

Return the pad from which the probe takes buffers.

Definition at line 169 of file service-maker/includes/buffer_probe.hpp.

References pad_.

◆ getPad() [2/2]

const Pad& deepstream::BufferProbe::getPad ( )
inline

Return the pad from which the probe takes buffers.

Definition at line 169 of file 9.0/service-maker/includes/buffer_probe.hpp.

References pad_.

◆ getProperty() [1/2]

template<typename T , typename... Args>
Object& deepstream::Object::getProperty ( const std::string &  name,
T &  value,
Args &...  args 
)
inlineinherited

◆ getProperty() [2/2]

template<typename T , typename... Args>
Object& deepstream::Object::getProperty ( const std::string &  name,
T &  value,
Args &...  args 
)
inlineinherited

Template for getting multiple properties.

Definition at line 171 of file 9.0/service-maker/includes/object.hpp.

References deepstream::Object::get_(), and deepstream::Object::getProperty().

◆ getTarget() [1/2]

Element* deepstream::BufferProbe::getTarget ( )
inline

Return the pointer to the element where the probe is attached.

Definition at line 163 of file 9.0/service-maker/includes/buffer_probe.hpp.

References target_.

◆ getTarget() [2/2]

Element* deepstream::BufferProbe::getTarget ( )
inline

Return the pointer to the element where the probe is attached.

Definition at line 163 of file service-maker/includes/buffer_probe.hpp.

References target_.

◆ give() [1/2]

GstObject* deepstream::Object::give ( )
inherited

Give up the ownership and return the opaque pointer.

◆ give() [2/2]

GstObject* deepstream::Object::give ( )
inherited

Give up the ownership and return the opaque pointer.

◆ listSignals() [1/2]

std::vector<std::string> deepstream::Object::listSignals ( bool  is_action)
inherited

List all the supported signals from the object.

◆ listSignals() [2/2]

std::vector<std::string> deepstream::Object::listSignals ( bool  is_action)
inherited

List all the supported signals from the object.

◆ operator bool() [1/2]

deepstream::Object::operator bool ( ) const
inlineexplicitnoexceptinherited

Check if the object is void.

Definition at line 131 of file 9.0/service-maker/includes/object.hpp.

References deepstream::Object::object_.

◆ operator bool() [2/2]

deepstream::Object::operator bool ( ) const
inlineexplicitnoexceptinherited

Check if the object is void.

Definition at line 131 of file service-maker/includes/object.hpp.

References deepstream::Object::object_.

◆ operator==() [1/2]

bool deepstream::Object::operator== ( const Object other)
inlinenoexceptinherited

Check if the two objects are the same.

Definition at line 134 of file service-maker/includes/object.hpp.

References deepstream::Object::object_.

◆ operator==() [2/2]

bool deepstream::Object::operator== ( const Object other)
inlinenoexceptinherited

Check if the two objects are the same.

Definition at line 134 of file 9.0/service-maker/includes/object.hpp.

References deepstream::Object::object_.

◆ query() [1/2]

template<typename T >
bool deepstream::BufferProbe::query ( T *&  interface) const
inline

Template class to query the type of the handler inteface.

Definition at line 176 of file 9.0/service-maker/includes/buffer_probe.hpp.

References metadata_handler_.

◆ query() [2/2]

template<typename T >
bool deepstream::BufferProbe::query ( T *&  interface) const
inline

Template class to query the type of the handler inteface.

Definition at line 176 of file service-maker/includes/buffer_probe.hpp.

References metadata_handler_.

◆ seize() [1/2]

Object& deepstream::Object::seize ( GstObject object)
inherited

Seize a opaque object to prevent it from being destroyed somewhere.

◆ seize() [2/2]

Object& deepstream::Object::seize ( GstObject object)
inherited

Seize a opaque object to prevent it from being destroyed somewhere.

◆ set() [1/6]

template<typename T , typename... Args>
Object& deepstream::Object::set ( const std::string &  name,
const T &  value,
const Args &...  args 
)
inlineinherited

◆ set() [2/6]

template<typename T , typename... Args>
Object& deepstream::Object::set ( const std::string &  name,
const T &  value,
const Args &...  args 
)
inlineinherited

◆ set() [3/6]

Object& deepstream::Object::set ( const std::string &  name,
const Value value 
)
inlineinherited

Definition at line 154 of file service-maker/includes/object.hpp.

References deepstream::Object::set_().

◆ set() [4/6]

Object& deepstream::Object::set ( const std::string &  name,
const Value value 
)
inlineinherited

Definition at line 154 of file 9.0/service-maker/includes/object.hpp.

References deepstream::Object::set_().

◆ set() [5/6]

Object& deepstream::Object::set ( const YAML::Node &  params)
inherited

Set the properties from key/value pairs in the yaml format.

Referenced by deepstream::Pipeline::add(), and deepstream::Object::set().

◆ set() [6/6]

Object& deepstream::Object::set ( const YAML::Node &  params)
inherited

Set the properties from key/value pairs in the yaml format.

◆ set_() [1/4]

virtual void deepstream::CustomObject::set_ ( const std::string &  name,
const Value value 
)
protectedvirtualinherited

Reimplemented from deepstream::Object.

◆ set_() [2/4]

virtual void deepstream::CustomObject::set_ ( const std::string &  name,
const Value value 
)
protectedvirtualinherited

Reimplemented from deepstream::Object.

◆ set_() [3/4]

virtual void deepstream::CustomObject::set_ ( const std::string &  name,
const YAML::Node &  value 
)
protectedvirtualinherited

Reimplemented from deepstream::Object.

◆ set_() [4/4]

virtual void deepstream::CustomObject::set_ ( const std::string &  name,
const YAML::Node &  value 
)
protectedvirtualinherited

Reimplemented from deepstream::Object.

◆ take() [1/2]

Object& deepstream::Object::take ( GstObject object)
inherited

Takes the ownership of a object through the opaque pointer.

◆ take() [2/2]

Object& deepstream::Object::take ( GstObject object)
inherited

Takes the ownership of a object through the opaque pointer.

◆ type() [1/2]

static unsigned long deepstream::BufferProbe::type ( )
static

Get the unique id associated with this type of BufferProbe.

An unique number is assigned for each BufferProbe class defined within a custom plugin.

◆ type() [2/2]

static unsigned long deepstream::BufferProbe::type ( )
static

Get the unique id associated with this type of BufferProbe.

An unique number is assigned for each BufferProbe class defined within a custom plugin.

Field Documentation

◆ metadata_handler_

std::unique_ptr< IHandler > deepstream::BufferProbe::metadata_handler_
protected

Buffer probe takes the ownership of the handler instance assigned to it during construction.

Definition at line 187 of file service-maker/includes/buffer_probe.hpp.

Referenced by query().

◆ object_

GstObject * deepstream::Object::object_
protectedinherited

◆ pad_

Pad deepstream::BufferProbe::pad_
protected

the Pad from which the probe takes buffers,

See also
Pad

Definition at line 189 of file service-maker/includes/buffer_probe.hpp.

Referenced by getPad().

◆ param_spec_

std::string deepstream::CustomObject::param_spec_
protectedinherited

property spec in YAML format

Definition at line 51 of file service-maker/includes/custom_object.hpp.

◆ properties_

std::map< std::string, Object::Value > deepstream::CustomObject::properties_
protectedinherited

property map

Definition at line 53 of file service-maker/includes/custom_object.hpp.

◆ target_

Element * deepstream::BufferProbe::target_
protected

weak reference to the target element to which it is attached,

See also
Element

Definition at line 194 of file service-maker/includes/buffer_probe.hpp.

Referenced by getTarget().


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