NVIDIA DeepStream SDK API Reference

6.4 Release
nvdscustomlib_base.h
Go to the documentation of this file.
1 
23 #ifndef __NVDSCUSTOMLIB_BASE_HPP__
24 #define __NVDSCUSTOMLIB_BASE_HPP__
25 
26 #include <gst/audio/audio.h>
27 #include <gst/base/gstbasetransform.h>
28 
30 
31 /* Buffer Pool Configuration Parameters */
34  guint gpu_id;
35  guint max_buffers;
36  gint batch_size;
37 };
38 
40  public:
41  explicit DSCustomLibraryBase(GstBaseTransform* btrans = nullptr);
42 
43  /* Set Init Parameters */
44  virtual bool SetInitParams(DSCustom_CreateParams *params);
45 
46  virtual ~DSCustomLibraryBase();
47 
48  virtual bool HandleEvent(GstEvent *event) = 0;
49 
50  virtual char* QueryProperties () = 0;
51 
52  /* Set Custom Properties of the library */
53  virtual bool SetProperty(Property &prop) = 0;
54  // TODO: Add getProperty as well
55 
56  /* Get GetCompatibleOutputCaps */
57  virtual GstCaps *GetCompatibleCaps(GstPadDirection direction,
58  GstCaps *in_caps, GstCaps *othercaps);
59 
60  /* Process Incoming Buffer */
61  virtual BufferResult ProcessBuffer(GstBuffer *inbuf) = 0;
62 
63  public:
64  /* Gstreamer dsexaple2 plugin's base class reference */
65  GstBaseTransform *m_element;
66 
68  guint m_gpuId;
69 
70  /* Audio Information */
71  GstAudioInfo m_inAudioInfo;
72  GstAudioInfo m_outAudioInfo;
73 
74  /* Audio Format Information */
75  GstAudioFormat m_inAudioFmt;
76  GstAudioFormat m_outAudioFmt;
77 
78  /* Gst Caps Information */
79  GstCaps *m_inCaps;
80  GstCaps *m_outCaps;
81 };
82 
83 #endif
DSCustomLibraryBase::ProcessBuffer
virtual BufferResult ProcessBuffer(GstBuffer *inbuf)=0
DSCustom_CreateParams
Definition: gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:39
DSCustomLibraryBase::m_inAudioFmt
GstAudioFormat m_inAudioFmt
Definition: nvdscustomlib_base.h:75
DSCustomLibraryBase::m_outCaps
GstCaps * m_outCaps
Definition: nvdscustomlib_base.h:80
DSCustomLibraryBase::m_outAudioFmt
GstAudioFormat m_outAudioFmt
Definition: nvdscustomlib_base.h:76
BufferPoolConfig::batch_size
gint batch_size
Definition: nvdscustomlib_base.h:36
BufferResult
BufferResult
Copyright (c) 2023, NVIDIA CORPORATION.
Definition: gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:32
nvdscustomlib_interface.hpp
DSCustomLibraryBase::m_outAudioInfo
GstAudioInfo m_outAudioInfo
Definition: nvdscustomlib_base.h:72
DSCustomLibraryBase::m_element
GstBaseTransform * m_element
Definition: nvdscustomlib_base.h:65
DSCustomLibraryBase::SetProperty
virtual bool SetProperty(Property &prop)=0
DSCustomLibraryBase::QueryProperties
virtual char * QueryProperties()=0
DSCustomLibraryBase::m_inCaps
GstCaps * m_inCaps
Definition: nvdscustomlib_base.h:79
IDSCustomLibrary
Definition: gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:53
BufferPoolConfig
Copyright (c) 2021, NVIDIA CORPORATION.
Definition: nvdscustomlib_base.h:32
DSCustomLibraryBase::~DSCustomLibraryBase
virtual ~DSCustomLibraryBase()
Definition: gst-nvdsA2Vtemplate/includes/nvdscustomlib_base.hpp:75
DSCustomLibraryBase::GetCompatibleCaps
virtual GstCaps * GetCompatibleCaps(GstPadDirection direction, GstCaps *in_caps, GstCaps *othercaps)
Definition: gst-nvdsvideotemplate/includes/nvdscustomlib_base.hpp:125
Property
Definition: gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:43
DSCustomLibraryBase::DSCustomLibraryBase
DSCustomLibraryBase(GstBaseTransform *btrans=nullptr)
Definition: gst-nvdsvideotemplate/includes/nvdscustomlib_base.hpp:96
BufferPoolConfig::max_buffers
guint max_buffers
Definition: nvdscustomlib_base.h:35
BufferPoolConfig::cuda_mem_type
gint cuda_mem_type
Definition: nvdscustomlib_base.h:33
BufferPoolConfig::gpu_id
guint gpu_id
Definition: nvdscustomlib_base.h:34
DSCustomLibraryBase::HandleEvent
virtual bool HandleEvent(GstEvent *event)=0
DSCustomLibraryBase::m_gpuId
guint m_gpuId
GPU ID on which we expect to execute the algorithm.
Definition: nvdscustomlib_base.h:68
GstBuffer
struct _GstBuffer GstBuffer
Definition: idatatype.h:19
DSCustomLibraryBase::m_inAudioInfo
GstAudioInfo m_inAudioInfo
Definition: nvdscustomlib_base.h:71
DSCustomLibraryBase::SetInitParams
virtual bool SetInitParams(DSCustom_CreateParams *params)
Definition: gst-nvdsA2Vtemplate/includes/nvdscustomlib_base.hpp:69
DSCustomLibraryBase
Definition: nvdscustomlib_base.h:39