NVIDIA DeepStream SDK API Reference

8.0 Release
ds3d::gst::PipelineContext Class Reference

Detailed Description

Inheritance diagram for ds3d::gst::PipelineContext:
Collaboration diagram for ds3d::gst::PipelineContext:

Public Member Functions

 PipelineContext ()
 
virtual ~PipelineContext ()
 
void setMainloop (GMainLoop *loop)
 
void setEosAutoQuit (bool enable)
 
virtual ErrCode init (const std::string &name)
 
PipelineContextadd (const gst::ElePtr &ele)
 
virtual ErrCode start (std::function< void()> loopQuitCb)
 
virtual ErrCode stop ()
 
virtual void deinit ()
 
bool isRunning (size_t timeout=0)
 
void quitMainLoop ()
 
void waitLoopQuit ()
 
ErrCode playPipeline ()
 
ErrCode stopPipeline ()
 
ErrCode runMainLoop (std::function< void()> loopQuitCb)
 
ErrCode sendEOS ()
 
GstPipeline * pipeline () const
 
GstBus * bus () const
 
GMainLoop * mainLoop () const
 
 PipelineContext ()
 
virtual ~PipelineContext ()
 
void setMainloop (GMainLoop *loop)
 
void setEosAutoQuit (bool enable)
 
virtual ErrCode init (const std::string &name)
 
PipelineContextadd (const gst::ElePtr &ele)
 
virtual ErrCode start (std::function< void()> loopQuitCb)
 
virtual ErrCode stop ()
 
virtual void deinit ()
 
bool isRunning (size_t timeout=0)
 
void quitMainLoop ()
 
void waitLoopQuit ()
 
ErrCode playPipeline ()
 
ErrCode stopPipeline ()
 
ErrCode runMainLoop (std::function< void()> loopQuitCb)
 
ErrCode sendEOS ()
 
GstPipeline * pipeline () const
 
GstBus * bus () const
 
GMainLoop * mainLoop () const
 

Static Public Member Functions

static gboolean GSourceCb (gpointer user_data)
 
static gboolean GSourceCb (gpointer user_data)
 

Protected Member Functions

ErrCode setPipelineState (GstState state)
 
ErrCode setState (GstElement *ele, GstState state)
 
ErrCode getState (GstElement *ele, GstState *state, GstState *pending=nullptr, size_t timeout=0)
 
std::mutex & mutex () const
 
 DS3D_DISABLE_CLASS_COPY (PipelineContext)
 
ErrCode setPipelineState (GstState state)
 
ErrCode setState (GstElement *ele, GstState state)
 
ErrCode getState (GstElement *ele, GstState *state, GstState *pending=nullptr, size_t timeout=0)
 
std::mutex & mutex () const
 
 DS3D_DISABLE_CLASS_COPY (PipelineContext)
 

Static Protected Member Functions

static gboolean sBusCall (GstBus *bus, GstMessage *msg, gpointer data)
 
static gboolean sBusCall (GstBus *bus, GstMessage *msg, gpointer data)
 

Protected Attributes

gst::ElePtr _pipeline
 
gst::BusPtr _bus
 
uint32_t _busWatchId = 0
 
std::vector< gst::ElePtr_elementList
 
ds3d::UniqPtr< GMainLoop > _mainLoop {nullptr, g_main_loop_unref}
 
bool _eosAutoQuit = false
 
std::unique_ptr< std::thread > _mainLoopThread
 
std::atomic_bool _mainStopped {false}
 
std::atomic_bool _eosReceived {false}
 
std::mutex _pipelineMutex
 
std::condition_variable _StatusCond
 

Constructor & Destructor Documentation

◆ PipelineContext() [1/2]

ds3d::gst::PipelineContext::PipelineContext ( )
inline

◆ ~PipelineContext() [1/2]

virtual ds3d::gst::PipelineContext::~PipelineContext ( )
inlinevirtual

Definition at line 65 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References deinit().

◆ PipelineContext() [2/2]

ds3d::gst::PipelineContext::PipelineContext ( )
inline

◆ ~PipelineContext() [2/2]

virtual ds3d::gst::PipelineContext::~PipelineContext ( )
inlinevirtual

Definition at line 65 of file 9.0/sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References deinit().

Member Function Documentation

◆ add() [1/2]

◆ add() [2/2]

◆ bus() [1/2]

GstBus* ds3d::gst::PipelineContext::bus ( ) const
inline

◆ bus() [2/2]

GstBus* ds3d::gst::PipelineContext::bus ( ) const
inline

◆ deinit() [1/2]

virtual void ds3d::gst::PipelineContext::deinit ( )
inlinevirtual

◆ deinit() [2/2]

virtual void ds3d::gst::PipelineContext::deinit ( )
inlinevirtual

◆ DS3D_DISABLE_CLASS_COPY() [1/2]

ds3d::gst::PipelineContext::DS3D_DISABLE_CLASS_COPY ( PipelineContext  )
protected

◆ DS3D_DISABLE_CLASS_COPY() [2/2]

ds3d::gst::PipelineContext::DS3D_DISABLE_CLASS_COPY ( PipelineContext  )
protected

◆ getState() [1/2]

ErrCode ds3d::gst::PipelineContext::getState ( GstElement *  ele,
GstState *  state,
GstState *  pending = nullptr,
size_t  timeout = 0 
)
inlineprotected

◆ getState() [2/2]

ErrCode ds3d::gst::PipelineContext::getState ( GstElement *  ele,
GstState *  state,
GstState *  pending = nullptr,
size_t  timeout = 0 
)
inlineprotected

◆ GSourceCb() [1/2]

static gboolean ds3d::gst::PipelineContext::GSourceCb ( gpointer  user_data)
inlinestatic

Definition at line 225 of file 9.0/sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References DS_ASSERT.

◆ GSourceCb() [2/2]

static gboolean ds3d::gst::PipelineContext::GSourceCb ( gpointer  user_data)
inlinestatic

Definition at line 225 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References DS_ASSERT.

Referenced by runMainLoop().

◆ init() [1/2]

◆ init() [2/2]

◆ isRunning() [1/2]

bool ds3d::gst::PipelineContext::isRunning ( size_t  timeout = 0)
inline

◆ isRunning() [2/2]

bool ds3d::gst::PipelineContext::isRunning ( size_t  timeout = 0)
inline

◆ mainLoop() [1/2]

GMainLoop* ds3d::gst::PipelineContext::mainLoop ( ) const
inline

◆ mainLoop() [2/2]

GMainLoop* ds3d::gst::PipelineContext::mainLoop ( ) const
inline

Definition at line 306 of file 9.0/sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References _mainLoop.

◆ mutex() [1/2]

std::mutex& ds3d::gst::PipelineContext::mutex ( ) const
inlineprotected

◆ mutex() [2/2]

std::mutex& ds3d::gst::PipelineContext::mutex ( ) const
inlineprotected

◆ pipeline() [1/2]

GstPipeline* ds3d::gst::PipelineContext::pipeline ( ) const
inline

◆ pipeline() [2/2]

GstPipeline* ds3d::gst::PipelineContext::pipeline ( ) const
inline

◆ playPipeline() [1/2]

ErrCode ds3d::gst::PipelineContext::playPipeline ( )
inline

◆ playPipeline() [2/2]

ErrCode ds3d::gst::PipelineContext::playPipeline ( )
inline

◆ quitMainLoop() [1/2]

void ds3d::gst::PipelineContext::quitMainLoop ( )
inline

◆ quitMainLoop() [2/2]

void ds3d::gst::PipelineContext::quitMainLoop ( )
inline

Definition at line 165 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References _StatusCond, mainLoop(), and mutex().

Referenced by runMainLoop(), and stop().

◆ runMainLoop() [1/2]

ErrCode ds3d::gst::PipelineContext::runMainLoop ( std::function< void()>  loopQuitCb)
inline

◆ runMainLoop() [2/2]

ErrCode ds3d::gst::PipelineContext::runMainLoop ( std::function< void()>  loopQuitCb)
inline

◆ sBusCall() [1/2]

static gboolean ds3d::gst::PipelineContext::sBusCall ( GstBus *  bus,
GstMessage *  msg,
gpointer  data 
)
inlinestaticprotected

Definition at line 390 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References bus(), and DS_ASSERT.

Referenced by init().

◆ sBusCall() [2/2]

static gboolean ds3d::gst::PipelineContext::sBusCall ( GstBus *  bus,
GstMessage *  msg,
gpointer  data 
)
inlinestaticprotected

Definition at line 390 of file 9.0/sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References bus(), and DS_ASSERT.

◆ sendEOS() [1/2]

ErrCode ds3d::gst::PipelineContext::sendEOS ( )
inline

◆ sendEOS() [2/2]

ErrCode ds3d::gst::PipelineContext::sendEOS ( )
inline

◆ setEosAutoQuit() [1/2]

void ds3d::gst::PipelineContext::setEosAutoQuit ( bool  enable)
inline

Definition at line 68 of file 9.0/sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References _eosAutoQuit.

◆ setEosAutoQuit() [2/2]

void ds3d::gst::PipelineContext::setEosAutoQuit ( bool  enable)
inline

Definition at line 68 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References _eosAutoQuit.

◆ setMainloop() [1/2]

void ds3d::gst::PipelineContext::setMainloop ( GMainLoop *  loop)
inline

Definition at line 67 of file 9.0/sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References _mainLoop.

◆ setMainloop() [2/2]

void ds3d::gst::PipelineContext::setMainloop ( GMainLoop *  loop)
inline

Definition at line 67 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

References _mainLoop.

◆ setPipelineState() [1/2]

ErrCode ds3d::gst::PipelineContext::setPipelineState ( GstState  state)
inlineprotected

◆ setPipelineState() [2/2]

ErrCode ds3d::gst::PipelineContext::setPipelineState ( GstState  state)
inlineprotected

◆ setState() [1/2]

ErrCode ds3d::gst::PipelineContext::setState ( GstElement *  ele,
GstState  state 
)
inlineprotected

◆ setState() [2/2]

ErrCode ds3d::gst::PipelineContext::setState ( GstElement *  ele,
GstState  state 
)
inlineprotected

◆ start() [1/2]

virtual ErrCode ds3d::gst::PipelineContext::start ( std::function< void()>  loopQuitCb)
inlinevirtual

◆ start() [2/2]

virtual ErrCode ds3d::gst::PipelineContext::start ( std::function< void()>  loopQuitCb)
inlinevirtual

◆ stop() [1/2]

virtual ErrCode ds3d::gst::PipelineContext::stop ( )
inlinevirtual

◆ stop() [2/2]

virtual ErrCode ds3d::gst::PipelineContext::stop ( )
inlinevirtual

◆ stopPipeline() [1/2]

◆ stopPipeline() [2/2]

◆ waitLoopQuit() [1/2]

void ds3d::gst::PipelineContext::waitLoopQuit ( )
inline

◆ waitLoopQuit() [2/2]

void ds3d::gst::PipelineContext::waitLoopQuit ( )
inline

Field Documentation

◆ _bus

gst::BusPtr ds3d::gst::PipelineContext::_bus
protected

Definition at line 401 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

Referenced by bus(), deinit(), and init().

◆ _busWatchId

uint32_t ds3d::gst::PipelineContext::_busWatchId = 0
protected

Definition at line 402 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

Referenced by init().

◆ _elementList

std::vector< gst::ElePtr > ds3d::gst::PipelineContext::_elementList
protected

Definition at line 403 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

Referenced by add(), deinit(), and stopPipeline().

◆ _eosAutoQuit

bool ds3d::gst::PipelineContext::_eosAutoQuit = false
protected

Definition at line 405 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

Referenced by isRunning(), and setEosAutoQuit().

◆ _eosReceived

std::atomic_bool ds3d::gst::PipelineContext::_eosReceived {false}
protected

Definition at line 408 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

Referenced by isRunning(), and playPipeline().

◆ _mainLoop

ds3d::UniqPtr< GMainLoop > ds3d::gst::PipelineContext::_mainLoop {nullptr, g_main_loop_unref}
protected

◆ _mainLoopThread

std::unique_ptr< std::thread > ds3d::gst::PipelineContext::_mainLoopThread
protected

Definition at line 406 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

Referenced by runMainLoop(), and waitLoopQuit().

◆ _mainStopped

std::atomic_bool ds3d::gst::PipelineContext::_mainStopped {false}
protected

◆ _pipeline

gst::ElePtr ds3d::gst::PipelineContext::_pipeline
protected

◆ _pipelineMutex

std::mutex ds3d::gst::PipelineContext::_pipelineMutex
mutableprotected

Definition at line 409 of file sources/libs/ds3d/gst/nvds3d_pipeline_context.h.

Referenced by mutex().

◆ _StatusCond

std::condition_variable ds3d::gst::PipelineContext::_StatusCond
protected

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