Definition at line 249 of file deepstream_can_context_priv.hpp.
Public Member Functions | |
CameraCanApp ()=default | |
~CameraCanApp () | |
void | setConfig (const NvDsCanContextConfig &config) |
const NvDsCanContextConfig & | config () const |
ErrCode | buildPipeline () |
ErrCode | stop () override |
void | deinit () override |
ErrCode | processFrame (const NvDsCanContextFrame *frame, std::function< void(GstBuffer *)> callback) |
NvDsCanSrcType | srcType () const |
void | setMainloop (GMainLoop *loop) |
ErrCode | init (const std::string &name) |
Ds3dAppContext & | add (const gst::ElePtr &ele) |
ErrCode | play () |
bool | isRunning (size_t timeout=0) |
void | quitMainLoop () |
void | waitLoopQuit () |
void | runMainLoop (std::function< void()> loopQuitCb) |
ErrCode | sendEOS () |
GstPipeline * | pipeline () const |
GstBus * | bus () const |
GMainLoop * | mainLoop () const |
Static Public Member Functions | |
static GstPadProbeReturn | lastSinkBufferProbe (GstPad *pad, GstPadProbeInfo *info, gpointer udata) |
static GstPadProbeReturn | processedBufferProbe (GstPad *pad, GstPadProbeInfo *info, gpointer udata) |
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 (Ds3dAppContext) | |
Static Protected Member Functions | |
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 |
bool | _mainStopped = false |
bool | _eosReceived = false |
std::mutex | _streamMutex |
std::condition_variable | _stoppedCond |
bool | _isdGPU = true |
|
default |
|
inline |
Definition at line 252 of file deepstream_can_context_priv.hpp.
References deinit().
|
inlineinherited |
Definition at line 50 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_elementList, Ds3dAppContext::_pipeline, ds3d::gst::GstPtr< GstObjT, ObjFunc >::copy(), DS3D_THROW_ERROR, DS_ASSERT, and Ds3dAppContext::pipeline().
ErrCode CameraCanApp::buildPipeline | ( | ) |
|
inlineinherited |
Definition at line 182 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_bus, and ds3d::gst::GstPtr< GstObjT, ObjFunc >::get().
Referenced by Ds3dAppContext::deinit(), Ds3dAppContext::init(), and Ds3dAppContext::sBusCall().
|
inline |
Definition at line 255 of file deepstream_can_context_priv.hpp.
Referenced by setConfig().
|
inlineoverridevirtual |
Reimplemented from Ds3dAppContext.
Definition at line 261 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::deinit(), and ds3d::gst::GstPtr< GstObjT, ObjFunc >::reset().
Referenced by ~CameraCanApp().
|
protectedinherited |
|
inlineprotectedinherited |
Definition at line 206 of file deepstream_can_context_priv.hpp.
References DS_ASSERT.
Referenced by Ds3dAppContext::stop().
|
inlineinherited |
Definition at line 31 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_bus, Ds3dAppContext::_busWatchId, Ds3dAppContext::_isdGPU, Ds3dAppContext::_mainLoop, Ds3dAppContext::_pipeline, Ds3dAppContext::bus(), DS3D_FAILED_RETURN, DS_ASSERT, Ds3dAppContext::pipeline(), ds3d::gst::GstPtr< GstObjT, ObjFunc >::reset(), Ds3dAppContext::sBusCall(), and ds3d::gst::GstPtr< GstObjT, ObjFunc >::setName().
|
inlineinherited |
Definition at line 94 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_eosReceived, Ds3dAppContext::_mainStopped, Ds3dAppContext::mainLoop(), Ds3dAppContext::mutex(), and Ds3dAppContext::pipeline().
|
static |
|
inlineinherited |
Definition at line 183 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_mainLoop.
Referenced by Ds3dAppContext::isRunning(), Ds3dAppContext::quitMainLoop(), Ds3dAppContext::runMainLoop(), and Ds3dAppContext::waitLoopQuit().
|
inlineprotectedinherited |
Definition at line 231 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_streamMutex.
Referenced by Ds3dAppContext::isRunning(), Ds3dAppContext::play(), Ds3dAppContext::quitMainLoop(), Ds3dAppContext::runMainLoop(), and Ds3dAppContext::waitLoopQuit().
|
inlineinherited |
Definition at line 181 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_pipeline, and ds3d::gst::GstPtr< GstObjT, ObjFunc >::get().
Referenced by Ds3dAppContext::add(), Ds3dAppContext::init(), Ds3dAppContext::isRunning(), and Ds3dAppContext::sendEOS().
|
inlineinherited |
Definition at line 59 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_eosReceived, Ds3dAppContext::_pipeline, DS_ASSERT, Ds3dAppContext::mutex(), and Ds3dAppContext::setPipelineState().
|
static |
ErrCode CameraCanApp::processFrame | ( | const NvDsCanContextFrame * | frame, |
std::function< void(GstBuffer *)> | callback | ||
) |
|
inlineinherited |
Definition at line 122 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::mainLoop(), and Ds3dAppContext::mutex().
|
inlineinherited |
Definition at line 146 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_mainLoopThread, Ds3dAppContext::_mainStopped, Ds3dAppContext::_stoppedCond, DS_ASSERT, Ds3dAppContext::mainLoop(), and Ds3dAppContext::mutex().
|
inlinestaticprotectedinherited |
Definition at line 224 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::bus(), and DS_ASSERT.
Referenced by Ds3dAppContext::init().
|
inlineinherited |
Definition at line 173 of file deepstream_can_context_priv.hpp.
References DS3D_FAILED_RETURN, and Ds3dAppContext::pipeline().
|
inline |
Definition at line 254 of file deepstream_can_context_priv.hpp.
References config().
|
inlineinherited |
Definition at line 29 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_mainLoop.
|
inlineprotectedinherited |
Definition at line 190 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_pipeline, DS_ASSERT, ds3d::gst::GstPtr< GstObjT, ObjFunc >::get(), and Ds3dAppContext::setState().
Referenced by Ds3dAppContext::play(), and Ds3dAppContext::stop().
|
inlineprotectedinherited |
Definition at line 196 of file deepstream_can_context_priv.hpp.
References DS3D_FAILED_RETURN, and DS_ASSERT.
Referenced by Ds3dAppContext::setPipelineState(), and Ds3dAppContext::stop().
|
inline |
Definition at line 271 of file deepstream_can_context_priv.hpp.
References NvDsCanContextConfig::srcType.
|
overridevirtual |
Reimplemented from Ds3dAppContext.
|
inlineinherited |
Definition at line 130 of file deepstream_can_context_priv.hpp.
References Ds3dAppContext::_mainLoopThread, Ds3dAppContext::_mainStopped, Ds3dAppContext::_stoppedCond, Ds3dAppContext::mainLoop(), and Ds3dAppContext::mutex().
|
protectedinherited |
Definition at line 235 of file deepstream_can_context_priv.hpp.
Referenced by Ds3dAppContext::bus(), Ds3dAppContext::deinit(), and Ds3dAppContext::init().
|
protectedinherited |
Definition at line 236 of file deepstream_can_context_priv.hpp.
Referenced by Ds3dAppContext::init().
|
protectedinherited |
Definition at line 237 of file deepstream_can_context_priv.hpp.
Referenced by Ds3dAppContext::add(), Ds3dAppContext::deinit(), and Ds3dAppContext::stop().
|
protectedinherited |
Definition at line 239 of file deepstream_can_context_priv.hpp.
|
protectedinherited |
Definition at line 242 of file deepstream_can_context_priv.hpp.
Referenced by Ds3dAppContext::isRunning(), and Ds3dAppContext::play().
|
protectedinherited |
Definition at line 245 of file deepstream_can_context_priv.hpp.
Referenced by Ds3dAppContext::init().
|
protectedinherited |
Definition at line 238 of file deepstream_can_context_priv.hpp.
Referenced by Ds3dAppContext::deinit(), Ds3dAppContext::init(), Ds3dAppContext::mainLoop(), and Ds3dAppContext::setMainloop().
|
protectedinherited |
Definition at line 240 of file deepstream_can_context_priv.hpp.
Referenced by Ds3dAppContext::runMainLoop(), and Ds3dAppContext::waitLoopQuit().
|
protectedinherited |
Definition at line 241 of file deepstream_can_context_priv.hpp.
Referenced by Ds3dAppContext::isRunning(), Ds3dAppContext::runMainLoop(), and Ds3dAppContext::waitLoopQuit().
|
protectedinherited |
Definition at line 234 of file deepstream_can_context_priv.hpp.
Referenced by Ds3dAppContext::add(), Ds3dAppContext::deinit(), Ds3dAppContext::init(), Ds3dAppContext::pipeline(), Ds3dAppContext::play(), Ds3dAppContext::setPipelineState(), and Ds3dAppContext::stop().
|
protectedinherited |
Definition at line 244 of file deepstream_can_context_priv.hpp.
Referenced by Ds3dAppContext::runMainLoop(), and Ds3dAppContext::waitLoopQuit().
|
mutableprotectedinherited |
Definition at line 243 of file deepstream_can_context_priv.hpp.
Referenced by Ds3dAppContext::mutex().