NVIDIA DeepStream SDK API Reference
6.4 Release
gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp
Go to the documentation of this file.
1
23
#ifndef __NVDSCUSTOMLIB_INTERFACE_HPP__
24
#define __NVDSCUSTOMLIB_INTERFACE_HPP__
25
26
#include <string>
27
#include <gst/gstbuffer.h>
28
#include <cuda_runtime.h>
29
#include "../gstaudio2video.h"
30
#include <gst/video/video.h>
31
32
enum class
BufferResult
{
33
Buffer_Ok
,
// Push the buffer from submit_input function
34
Buffer_Drop
,
// Drop the buffer inside submit_input function
35
Buffer_Async
,
// Return from submit_input function, custom lib to push the buffer
36
Buffer_Error
// Error occured
37
};
38
39
struct
DSCustom_CreateParams
{
40
GstElement *
m_element
;
41
};
42
43
struct
Property
44
{
45
Property
(std::string arg_key, std::string arg_value) :
key
(arg_key),
value
(arg_value)
46
{
47
}
48
49
std::string
key
;
50
std::string
value
;
51
};
52
53
class
IDSCustomLibrary
54
{
55
public
:
56
virtual
bool
SetInitParams
(
DSCustom_CreateParams
*params) = 0;
57
virtual
bool
SetProperty
(
Property
&prop) = 0;
58
virtual
bool
HandleEvent
(GstEvent *event) = 0;
59
virtual
BufferResult
ProcessBuffer
(
GstAudio2Video
* base,
GstBuffer
* audio, GstVideoFrame * video) = 0;
60
virtual
char
*
QueryProperties
() = 0;
61
virtual
~IDSCustomLibrary
() {};
62
};
63
64
#endif
DSCustom_CreateParams
Definition:
gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:39
BufferResult::Buffer_Async
@ Buffer_Async
BufferResult::Buffer_Drop
@ Buffer_Drop
IDSCustomLibrary::ProcessBuffer
virtual BufferResult ProcessBuffer(GstAudio2Video *base, GstBuffer *audio, GstVideoFrame *video)=0
Property::key
std::string key
Definition:
gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:49
IDSCustomLibrary::SetInitParams
virtual bool SetInitParams(DSCustom_CreateParams *params)=0
BufferResult
BufferResult
Copyright (c) 2023, NVIDIA CORPORATION.
Definition:
gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:32
Property::value
std::string value
Definition:
gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:50
DSCustom_CreateParams::m_element
GstElement * m_element
Definition:
gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:40
IDSCustomLibrary
Definition:
gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:53
IDSCustomLibrary::SetProperty
virtual bool SetProperty(Property &prop)=0
Property
Definition:
gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:43
IDSCustomLibrary::HandleEvent
virtual bool HandleEvent(GstEvent *event)=0
Property::Property
Property(std::string arg_key, std::string arg_value)
Definition:
gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:45
IDSCustomLibrary::~IDSCustomLibrary
virtual ~IDSCustomLibrary()
Definition:
gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:61
GstBuffer
struct _GstBuffer GstBuffer
Definition:
idatatype.h:19
BufferResult::Buffer_Error
@ Buffer_Error
BufferResult::Buffer_Ok
@ Buffer_Ok
IDSCustomLibrary::QueryProperties
virtual char * QueryProperties()=0
_GstAudio2Video
Definition:
gstaudio2video.h:43
Advance Information | Subject to Change | Generated by NVIDIA | Mon Dec 11 2023 17:51:25 | PR-09318-R32