NVIDIA DeepStream SDK API Reference

8.0 Release
deepstream::Pipeline Class Reference

Detailed Description

Pipeline class definition.

Pipelie class provide the high level interface for most of the functionalities. It is recommended to use Pipeline API for creating applications unless there is some specific features that are only supported in lower level APIs from Element, Object, etc.

Definition at line 91 of file service-maker/includes/pipeline.hpp.

Inheritance diagram for deepstream::Pipeline:
Collaboration diagram for deepstream::Pipeline:

Data Structures

class  DynamicSourceMessage
 Pipeline message on source add/remove. More...
 
class  EOSMessage
 Pipeline message on EOS. More...
 
class  Message
 base class for pipeline message More...
 
class  StateTransitionMessage
 Pipeline message on state transition. More...
 

Public Types

enum  State {
  INVALID,
  EMPTY,
  READY,
  PAUSED,
  PLAYING,
  INVALID,
  EMPTY,
  READY,
  PAUSED,
  PLAYING
}
 
enum  State {
  INVALID,
  EMPTY,
  READY,
  PAUSED,
  PLAYING,
  INVALID,
  EMPTY,
  READY,
  PAUSED,
  PLAYING
}
 

Public Member Functions

 Pipeline (const char *name)
 
 Pipeline (const char *name, const std::string &config_file)
 Constructor with name and a description file. More...
 
virtual ~Pipeline ()
 Destructor. More...
 
template<typename... Args>
Pipelineadd (const std::string &element_type, const std::string &element_name, const Args &... args)
 Template function for creating and adding element with properties. More...
 
Pipelineadd (Element element)
 Add a given element to the pipeline. More...
 
Elementfind (const ::std::string &name)
 Find an element within the pipeline by name. More...
 
Elementoperator[] (const std::string &name)
 Operator for accessing elements in a pipeline. More...
 
Pipelinelink (std::pair< std::string, std::string > route, std::pair< std::string, std::string > tips)
 Link two elements within the pipeline. More...
 
template<typename... Args>
Pipelinelink (const std::string &arg1, const std::string arg2, const Args &...args)
 Template function for linking elements in the simplest way. More...
 
Pipelineattach (const std::string &elmenent_name, CustomObject *object, const std::string tip="")
 Attach a custom object to an element within the pipeline. More...
 
Pipelineattach (const std::string &element_name, const std::string &plugin_name, const std::string &object_name, const std::string tip="")
 Create and attach a custom object to an element within the pipeline. More...
 
template<typename... Args>
Pipelineattach (const std::string &element_name, const std::string &plugin_name, const std::string &object_name, const std::string tip, const Args &... args)
 Template function for creating and attaching custom object with properties. More...
 
Pipelineinstall (std::function< void(Pipeline &, int key)> keyboard_listener)
 install a callback to capture keyboard events More...
 
int prepare ()
 Intialize the pipeline. More...
 
int prepare (std::function< void(Pipeline &, const Message &)> listener)
 Intialize the pipeline with a callback to capture the messages. More...
 
Pipelinestart ()
 Start the pipeline. More...
 
Pipelinestart (std::function< void(Pipeline &, const Message &)> listener)
 Start the pipeline with a callback to capture the messages. More...
 
Pipelineactivate ()
 Start the pipeline after it is already intialized. More...
 
Pipelinewait ()
 Wait until the pipeline ends. More...
 
Pipelinestop ()
 Stop the pipeline. More...
 
bool isRunning () const
 
Pipelinepause ()
 Pause the pipeline. More...
 
Pipelineresume ()
 Resume the pipeline. More...
 
Pipelineseek (uint64_t timestamp)
 Seek to a specified position for processing data within the pipeline. More...
 
uint32_t startRTSP (uint16_t rtsp_port, uint16_t udp_port, uint32_t buffer_size=0)
 Start an RTSP server. More...
 
uint32_t startRecording (const std::string &element_name, uint32_t startTime=0, uint32_t duration=0, std::function< void(const RecordingInfo &)> callback=[](const RecordingInfo &info) { printf("\nSource recorded at %s/%s. Duration %.2f sec\n", info.getFileDirectory().c_str(), info.getFileName().c_str(), info.getDuration()/1000.0);}, void *userData=nullptr)
 Send Smart Record start signal to an nvurisrcbin element. More...
 
bool stopRecording (const std::string &element_name)
 Send Smart Record stop signal to an nvurisrcbin element. More...
 
bool stopRecording (uint32_t sessionId)
 Send Smart Record stop signal to an nvurisrcbin element. More...
 
void handleKey (int key)
 
 Pipeline (const char *name)
 
 Pipeline (const char *name, const std::string &config_file)
 Constructor with name and a description file. More...
 
virtual ~Pipeline ()
 Destructor. More...
 
template<typename... Args>
Pipelineadd (const std::string &element_type, const std::string &element_name, const Args &... args)
 Template function for creating and adding element with properties. More...
 
Pipelineadd (Element element)
 Add a given element to the pipeline. More...
 
Elementfind (const ::std::string &name)
 Find an element within the pipeline by name. More...
 
Elementoperator[] (const std::string &name)
 Operator for accessing elements in a pipeline. More...
 
Pipelinelink (std::pair< std::string, std::string > route, std::pair< std::string, std::string > tips)
 Link two elements within the pipeline. More...
 
template<typename... Args>
Pipelinelink (const std::string &arg1, const std::string arg2, const Args &...args)
 Template function for linking elements in the simplest way. More...
 
Pipelineattach (const std::string &elmenent_name, CustomObject *object, const std::string tip="")
 Attach a custom object to an element within the pipeline. More...
 
Pipelineattach (const std::string &element_name, const std::string &plugin_name, const std::string &object_name, const std::string tip="")
 Create and attach a custom object to an element within the pipeline. More...
 
template<typename... Args>
Pipelineattach (const std::string &element_name, const std::string &plugin_name, const std::string &object_name, const std::string tip, const Args &... args)
 Template function for creating and attaching custom object with properties. More...
 
Pipelineinstall (std::function< void(Pipeline &, int key)> keyboard_listener)
 install a callback to capture keyboard events More...
 
int prepare ()
 Intialize the pipeline. More...
 
int prepare (std::function< void(Pipeline &, const Message &)> listener)
 Intialize the pipeline with a callback to capture the messages. More...
 
Pipelinestart ()
 Start the pipeline. More...
 
Pipelinestart (std::function< void(Pipeline &, const Message &)> listener)
 Start the pipeline with a callback to capture the messages. More...
 
Pipelineactivate ()
 Start the pipeline after it is already intialized. More...
 
Pipelinewait ()
 Wait until the pipeline ends. More...
 
Pipelinestop ()
 Stop the pipeline. More...
 
bool isRunning () const
 
Pipelinepause ()
 Pause the pipeline. More...
 
Pipelineresume ()
 Resume the pipeline. More...
 
Pipelineseek (uint64_t timestamp)
 Seek to a specified position for processing data within the pipeline. More...
 
uint32_t startRTSP (uint16_t rtsp_port, uint16_t udp_port, uint32_t buffer_size=0)
 Start an RTSP server. More...
 
uint32_t startRecording (const std::string &element_name, uint32_t startTime=0, uint32_t duration=0, std::function< void(const RecordingInfo &)> callback=[](const RecordingInfo &info) { printf("\nSource recorded at %s/%s. Duration %.2f sec\n", info.getFileDirectory().c_str(), info.getFileName().c_str(), info.getDuration()/1000.0);}, void *userData=nullptr)
 Send Smart Record start signal to an nvurisrcbin element. More...
 
bool stopRecording (const std::string &element_name)
 Send Smart Record stop signal to an nvurisrcbin element. More...
 
bool stopRecording (uint32_t sessionId)
 Send Smart Record stop signal to an nvurisrcbin element. More...
 
void handleKey (int key)
 
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 ()
 Return the object's type id. More...
 
static unsigned long type ()
 Return the object's type id. More...
 

Protected Member Functions

int run ()
 
int run_after_prepare ()
 
int run ()
 
int run_after_prepare ()
 
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

void * loop_ = NULL
 
uint bus_watch_id_ = 0
 
void * bus_data_ = NULL
 
std::function< void(Pipeline &, int key)> keyboard_listener_
 
std::thread thread_
 
std::map< std::string, Elementelements_
 
std::map< std::string, std::unique_ptr< SignalEmitter > > action_owners_
 
uint64_t start_pts_ = 0
 
std::unordered_map< std::string, uint32_t > element_to_session_id
 
std::unordered_map< uint32_t, std::string > session_id_to_element
 
GstObjectobject_
 

Member Enumeration Documentation

◆ State [1/2]

Enumerator
INVALID 
EMPTY 
READY 
PAUSED 
PLAYING 
INVALID 
EMPTY 
READY 
PAUSED 
PLAYING 

Definition at line 94 of file service-maker/includes/pipeline.hpp.

◆ State [2/2]

Enumerator
INVALID 
EMPTY 
READY 
PAUSED 
PLAYING 
INVALID 
EMPTY 
READY 
PAUSED 
PLAYING 

Definition at line 94 of file 9.0/service-maker/includes/pipeline.hpp.

Constructor & Destructor Documentation

◆ Pipeline() [1/4]

deepstream::Pipeline::Pipeline ( const char *  name)

◆ Pipeline() [2/4]

deepstream::Pipeline::Pipeline ( const char *  name,
const std::string &  config_file 
)

Constructor with name and a description file.

◆ ~Pipeline() [1/2]

virtual deepstream::Pipeline::~Pipeline ( )
virtual

Destructor.

◆ Pipeline() [3/4]

deepstream::Pipeline::Pipeline ( const char *  name)

◆ Pipeline() [4/4]

deepstream::Pipeline::Pipeline ( const char *  name,
const std::string &  config_file 
)

Constructor with name and a description file.

◆ ~Pipeline() [2/2]

virtual deepstream::Pipeline::~Pipeline ( )
virtual

Destructor.

Member Function Documentation

◆ activate() [1/2]

Pipeline& deepstream::Pipeline::activate ( )

Start the pipeline after it is already intialized.

◆ activate() [2/2]

Pipeline& deepstream::Pipeline::activate ( )

Start the pipeline after it is already intialized.

◆ add() [1/4]

template<typename... Args>
Pipeline& deepstream::Pipeline::add ( const std::string &  element_type,
const std::string &  element_name,
const Args &...  args 
)
inline

Template function for creating and adding element with properties.

Definition at line 174 of file service-maker/includes/pipeline.hpp.

References deepstream::Object::Element, and deepstream::Object::set().

Referenced by add().

◆ add() [2/4]

template<typename... Args>
Pipeline& deepstream::Pipeline::add ( const std::string &  element_type,
const std::string &  element_name,
const Args &...  args 
)
inline

Template function for creating and adding element with properties.

Definition at line 174 of file 9.0/service-maker/includes/pipeline.hpp.

References add(), deepstream::Object::Element, and deepstream::Object::set().

◆ add() [3/4]

Pipeline& deepstream::Pipeline::add ( Element  element)

Add a given element to the pipeline.

◆ add() [4/4]

Pipeline& deepstream::Pipeline::add ( Element  element)

Add a given element to the pipeline.

◆ attach() [1/6]

template<typename... Args>
Pipeline& deepstream::Pipeline::attach ( const std::string &  element_name,
const std::string &  plugin_name,
const std::string &  object_name,
const std::string  tip,
const Args &...  args 
)
inline

Template function for creating and attaching custom object with properties.

Definition at line 251 of file service-maker/includes/pipeline.hpp.

References attach().

◆ attach() [2/6]

template<typename... Args>
Pipeline& deepstream::Pipeline::attach ( const std::string &  element_name,
const std::string &  plugin_name,
const std::string &  object_name,
const std::string  tip,
const Args &...  args 
)
inline

Template function for creating and attaching custom object with properties.

Definition at line 251 of file 9.0/service-maker/includes/pipeline.hpp.

References attach().

◆ attach() [3/6]

Pipeline& deepstream::Pipeline::attach ( const std::string &  element_name,
const std::string &  plugin_name,
const std::string &  object_name,
const std::string  tip = "" 
)

Create and attach a custom object to an element within the pipeline.

Supported custom objects can be buffer probes, signal handlers The custom object will be created through factory

Parameters
[in]element_namename of the elment to which the object attaches
[in]plugin_namename of the plugin where the custom object factory is defined
[in]object_namename of the new custome object
[in]tipsextra information. pad name for buffer probes, signal name for signal handlers

◆ attach() [4/6]

Pipeline& deepstream::Pipeline::attach ( const std::string &  element_name,
const std::string &  plugin_name,
const std::string &  object_name,
const std::string  tip = "" 
)

Create and attach a custom object to an element within the pipeline.

Supported custom objects can be buffer probes, signal handlers The custom object will be created through factory

Parameters
[in]element_namename of the elment to which the object attaches
[in]plugin_namename of the plugin where the custom object factory is defined
[in]object_namename of the new custome object
[in]tipsextra information. pad name for buffer probes, signal name for signal handlers

◆ attach() [5/6]

Pipeline& deepstream::Pipeline::attach ( const std::string &  elmenent_name,
CustomObject object,
const std::string  tip = "" 
)

Attach a custom object to an element within the pipeline.

Supported custom objects can be buffer probes, signal handlers Once the object is attached, the element takes the ownership of it

Parameters
[in]element_namename of the elment to which the object attaches
[in]objectpointer to a custom object
[in]tipsextra information. pad name for buffer probes, signal name for signal handlers

◆ attach() [6/6]

Pipeline& deepstream::Pipeline::attach ( const std::string &  elmenent_name,
CustomObject object,
const std::string  tip = "" 
)

Attach a custom object to an element within the pipeline.

Supported custom objects can be buffer probes, signal handlers Once the object is attached, the element takes the ownership of it

Parameters
[in]element_namename of the elment to which the object attaches
[in]objectpointer to a custom object
[in]tipsextra information. pad name for buffer probes, signal name for signal handlers

Referenced by attach().

◆ 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.

◆ find() [1/2]

Element* deepstream::Pipeline::find ( const ::std::string &  name)

Find an element within the pipeline by name.

Referenced by operator[]().

◆ find() [2/2]

Element* deepstream::Pipeline::find ( const ::std::string &  name)

Find an element within the pipeline by name.

◆ get_() [1/2]

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

◆ get_() [2/2]

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

◆ 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.

◆ 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().

◆ 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.

◆ handleKey() [1/2]

void deepstream::Pipeline::handleKey ( int  key)

◆ handleKey() [2/2]

void deepstream::Pipeline::handleKey ( int  key)

◆ install() [1/2]

Pipeline& deepstream::Pipeline::install ( std::function< void(Pipeline &, int key)>  keyboard_listener)
inline

install a callback to capture keyboard events

Definition at line 270 of file 9.0/service-maker/includes/pipeline.hpp.

References keyboard_listener_.

◆ install() [2/2]

Pipeline& deepstream::Pipeline::install ( std::function< void(Pipeline &, int key)>  keyboard_listener)
inline

install a callback to capture keyboard events

Definition at line 270 of file service-maker/includes/pipeline.hpp.

References keyboard_listener_.

◆ isRunning() [1/2]

bool deepstream::Pipeline::isRunning ( ) const

◆ isRunning() [2/2]

bool deepstream::Pipeline::isRunning ( ) const

◆ link() [1/4]

template<typename... Args>
Pipeline& deepstream::Pipeline::link ( const std::string &  arg1,
const std::string  arg2,
const Args &...  args 
)
inline

Template function for linking elements in the simplest way.

Definition at line 210 of file 9.0/service-maker/includes/pipeline.hpp.

References link().

◆ link() [2/4]

template<typename... Args>
Pipeline& deepstream::Pipeline::link ( const std::string &  arg1,
const std::string  arg2,
const Args &...  args 
)
inline

Template function for linking elements in the simplest way.

Definition at line 210 of file service-maker/includes/pipeline.hpp.

References link().

◆ link() [3/4]

Pipeline& deepstream::Pipeline::link ( std::pair< std::string, std::string >  route,
std::pair< std::string, std::string >  tips 
)

Link two elements within the pipeline.

Parameters
[in]routea pair with source element name and target element name
[in]tipsextra pair with source pad name and target pad name

◆ link() [4/4]

Pipeline& deepstream::Pipeline::link ( std::pair< std::string, std::string >  route,
std::pair< std::string, std::string >  tips 
)

Link two elements within the pipeline.

Parameters
[in]routea pair with source element name and target element name
[in]tipsextra pair with source pad name and target pad name

Referenced by link().

◆ 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 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 9.0/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_.

◆ operator[]() [1/2]

Element& deepstream::Pipeline::operator[] ( const std::string &  name)
inline

Operator for accessing elements in a pipeline.

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

References find().

◆ operator[]() [2/2]

Element& deepstream::Pipeline::operator[] ( const std::string &  name)
inline

Operator for accessing elements in a pipeline.

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

References find().

◆ pause() [1/2]

Pipeline& deepstream::Pipeline::pause ( )

Pause the pipeline.

◆ pause() [2/2]

Pipeline& deepstream::Pipeline::pause ( )

Pause the pipeline.

◆ prepare() [1/4]

int deepstream::Pipeline::prepare ( )

Intialize the pipeline.

◆ prepare() [2/4]

int deepstream::Pipeline::prepare ( )

Intialize the pipeline.

◆ prepare() [3/4]

int deepstream::Pipeline::prepare ( std::function< void(Pipeline &, const Message &)>  listener)

Intialize the pipeline with a callback to capture the messages.

◆ prepare() [4/4]

int deepstream::Pipeline::prepare ( std::function< void(Pipeline &, const Message &)>  listener)

Intialize the pipeline with a callback to capture the messages.

◆ resume() [1/2]

Pipeline& deepstream::Pipeline::resume ( )

Resume the pipeline.

◆ resume() [2/2]

Pipeline& deepstream::Pipeline::resume ( )

Resume the pipeline.

◆ run() [1/2]

int deepstream::Pipeline::run ( )
protected

◆ run() [2/2]

int deepstream::Pipeline::run ( )
protected

◆ run_after_prepare() [1/2]

int deepstream::Pipeline::run_after_prepare ( )
protected

◆ run_after_prepare() [2/2]

int deepstream::Pipeline::run_after_prepare ( )
protected

◆ seek() [1/2]

Pipeline& deepstream::Pipeline::seek ( uint64_t  timestamp)

Seek to a specified position for processing data within the pipeline.

◆ seek() [2/2]

Pipeline& deepstream::Pipeline::seek ( uint64_t  timestamp)

Seek to a specified position for processing data within the pipeline.

◆ 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.

◆ set() [6/6]

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

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

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

◆ set_() [1/4]

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

◆ set_() [2/4]

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

◆ set_() [3/4]

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

◆ set_() [4/4]

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

◆ start() [1/4]

Pipeline& deepstream::Pipeline::start ( )

Start the pipeline.

◆ start() [2/4]

Pipeline& deepstream::Pipeline::start ( )

Start the pipeline.

◆ start() [3/4]

Pipeline& deepstream::Pipeline::start ( std::function< void(Pipeline &, const Message &)>  listener)

Start the pipeline with a callback to capture the messages.

◆ start() [4/4]

Pipeline& deepstream::Pipeline::start ( std::function< void(Pipeline &, const Message &)>  listener)

Start the pipeline with a callback to capture the messages.

◆ startRecording() [1/2]

uint32_t deepstream::Pipeline::startRecording ( const std::string &  element_name,
uint32_t  startTime = 0,
uint32_t  duration = 0,
std::function< void(const RecordingInfo &)>  callback = [](const RecordingInfo &info) { printf("\nSource recorded at %s/%s. Duration %.2f sec\n", info.getFileDirectory().c_str(), info.getFileName().c_str(), info.getDuration()/1000.0);},
void *  userData = nullptr 
)

Send Smart Record start signal to an nvurisrcbin element.

Parameters
[in]element_namename of the nvurisrcbin element
[in]startTimeseconds of cached data to include before trigger (0 = from now)
[in]durationseconds to record (0 = element default)
[in]userDataoptional user data pointer passed to callback

◆ startRecording() [2/2]

uint32_t deepstream::Pipeline::startRecording ( const std::string &  element_name,
uint32_t  startTime = 0,
uint32_t  duration = 0,
std::function< void(const RecordingInfo &)>  callback = [](const RecordingInfo &info) { printf("\nSource recorded at %s/%s. Duration %.2f sec\n", info.getFileDirectory().c_str(), info.getFileName().c_str(), info.getDuration()/1000.0);},
void *  userData = nullptr 
)

Send Smart Record start signal to an nvurisrcbin element.

Parameters
[in]element_namename of the nvurisrcbin element
[in]startTimeseconds of cached data to include before trigger (0 = from now)
[in]durationseconds to record (0 = element default)
[in]userDataoptional user data pointer passed to callback

◆ startRTSP() [1/2]

uint32_t deepstream::Pipeline::startRTSP ( uint16_t  rtsp_port,
uint16_t  udp_port,
uint32_t  buffer_size = 0 
)

Start an RTSP server.

◆ startRTSP() [2/2]

uint32_t deepstream::Pipeline::startRTSP ( uint16_t  rtsp_port,
uint16_t  udp_port,
uint32_t  buffer_size = 0 
)

Start an RTSP server.

◆ stop() [1/2]

Pipeline& deepstream::Pipeline::stop ( )

Stop the pipeline.

◆ stop() [2/2]

Pipeline& deepstream::Pipeline::stop ( )

Stop the pipeline.

◆ stopRecording() [1/4]

bool deepstream::Pipeline::stopRecording ( const std::string &  element_name)

Send Smart Record stop signal to an nvurisrcbin element.

Parameters
[in]element_namename of the nvurisrcbin element

◆ stopRecording() [2/4]

bool deepstream::Pipeline::stopRecording ( const std::string &  element_name)

Send Smart Record stop signal to an nvurisrcbin element.

Parameters
[in]element_namename of the nvurisrcbin element

◆ stopRecording() [3/4]

bool deepstream::Pipeline::stopRecording ( uint32_t  sessionId)

Send Smart Record stop signal to an nvurisrcbin element.

Parameters
[in]sessionIdsession id returned by startRecording

◆ stopRecording() [4/4]

bool deepstream::Pipeline::stopRecording ( uint32_t  sessionId)

Send Smart Record stop signal to an nvurisrcbin element.

Parameters
[in]sessionIdsession id returned by startRecording

◆ 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::Object::type ( )
staticinherited

Return the object's type id.

◆ type() [2/2]

static unsigned long deepstream::Object::type ( )
staticinherited

Return the object's type id.

◆ wait() [1/2]

Pipeline& deepstream::Pipeline::wait ( )

Wait until the pipeline ends.

◆ wait() [2/2]

Pipeline& deepstream::Pipeline::wait ( )

Wait until the pipeline ends.

Field Documentation

◆ action_owners_

std::map< std::string, std::unique_ptr< SignalEmitter > > deepstream::Pipeline::action_owners_
protected

Definition at line 355 of file service-maker/includes/pipeline.hpp.

◆ bus_data_

void * deepstream::Pipeline::bus_data_ = NULL
protected

Definition at line 347 of file service-maker/includes/pipeline.hpp.

◆ bus_watch_id_

uint deepstream::Pipeline::bus_watch_id_ = 0
protected

Definition at line 345 of file service-maker/includes/pipeline.hpp.

◆ element_to_session_id

std::unordered_map< std::string, uint32_t > deepstream::Pipeline::element_to_session_id
protected

Definition at line 359 of file service-maker/includes/pipeline.hpp.

◆ elements_

std::map< std::string, Element > deepstream::Pipeline::elements_
protected

Definition at line 353 of file service-maker/includes/pipeline.hpp.

◆ keyboard_listener_

std::function< void(Pipeline &, int key)> deepstream::Pipeline::keyboard_listener_
protected

Definition at line 348 of file service-maker/includes/pipeline.hpp.

Referenced by install().

◆ loop_

void * deepstream::Pipeline::loop_ = NULL
protected

Definition at line 343 of file service-maker/includes/pipeline.hpp.

◆ object_

GstObject * deepstream::Object::object_
protectedinherited

◆ session_id_to_element

std::unordered_map< uint32_t, std::string > deepstream::Pipeline::session_id_to_element
protected

Definition at line 360 of file service-maker/includes/pipeline.hpp.

◆ start_pts_

uint64_t deepstream::Pipeline::start_pts_ = 0
protected

Definition at line 357 of file service-maker/includes/pipeline.hpp.

◆ thread_

std::thread deepstream::Pipeline::thread_
protected

Definition at line 351 of file service-maker/includes/pipeline.hpp.


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