NVIDIA DeepStream SDK API Reference

6.4 Release
includes/gst-nvdscommonconfig.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: MIT
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included in
13  * all copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  */
23 
24 #ifndef _GST_NVDSCOMMON_CONFIG_H_
25 #define _GST_NVDSCOMMON_CONFIG_H_
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 #include <gst/gst.h>
32 
33 typedef enum
34 {
39 
40 typedef enum
41 {
46 
47 typedef enum
48 {
52 
53 typedef enum
54 {
59 
60 typedef enum
61 {
66 
67 typedef enum
68 {
72 
73 typedef struct _NvDsSensorInfo
74 {
75  guint source_id;
76  gchar const* uri;
77  gchar const* sensor_id;
78  gchar const* sensor_name;
80 
81 typedef struct _GstDsNvUriSrcConfig
82 {
84  gboolean loop;
85  gchar *uri;
86  gint latency;
88  gchar *smart_rec_dir_path;
89  gchar *smart_rec_file_prefix;
94  guint gpu_id;
95  gint source_id;
97  guint num_extra_surfaces;
99  guint cuda_memory_type;
100  guint drop_frame_interval;
102  guint udp_buffer_size;
103  gchar *sensorId;
104  gboolean disable_passthrough;
105  gchar *sensorName;
106  gboolean disable_audio;
108 
109 typedef struct
110 {
111  // Struct members to store config / properties for the element
112 
113  //mandatory configs when using legacy nvstreammux
114  gint pipeline_width;
115  gint pipeline_height;
116  gint batched_push_timeout;
117 
118  //not mandatory; auto configured
119  gint batch_size;
120 
121  //not mandatory; defaults will be used
122  gint buffer_pool_size;
123  gint compute_hw;
124  gint num_surfaces_per_frame;
125  gint interpolation_method;
126  guint gpu_id;
127  guint nvbuf_memory_type;
128  gboolean live_source;
129  gboolean enable_padding;
130  gboolean attach_sys_ts_as_ntp;
131  gchar* config_file_path;
132  gboolean sync_inputs;
133  guint64 max_latency;
134  gboolean frame_num_reset_on_eos;
135  gboolean frame_num_reset_on_stream_reset;
136 
137  guint64 frame_duration;
138  guint maxBatchSize;
139  gboolean async_process;
140  gboolean no_pipeline_eos;
142 
143 #ifdef __cplusplus
144 }
145 #endif
146 
147 #endif
_GstDsNvUriSrcConfig::smart_rec_container
NvDsUriSrcBinSRCont smart_rec_container
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:90
NvDsUriSrcBinSRMode
NvDsUriSrcBinSRMode
Definition: includes/gst-nvdscommonconfig.h:60
SMART_REC_AUDIO_ONLY
@ SMART_REC_AUDIO_ONLY
Definition: includes/gst-nvdscommonconfig.h:64
_GstDsNvUriSrcConfig
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:81
_GstDsNvUriSrcConfig::disable_audio
gboolean disable_audio
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:106
GstDsNvUriSrcConfig
struct _GstDsNvUriSrcConfig GstDsNvUriSrcConfig
_NvDsSensorInfo::source_id
guint source_id
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:75
_GstDsNvUriSrcConfig::src_type
NvDsUriSrcBinType src_type
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:83
_GstDsNvUriSrcConfig::smart_record
NvDsUriSrcBinSRType smart_record
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:87
_GstDsNvUriSrcConfig::udp_buffer_size
guint udp_buffer_size
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:102
NvDsUriSrcBinSRCont
NvDsUriSrcBinSRCont
Definition: includes/gst-nvdscommonconfig.h:67
SMART_REC_VIDEO_ONLY
@ SMART_REC_VIDEO_ONLY
Definition: includes/gst-nvdscommonconfig.h:63
_GstDsNvUriSrcConfig::uri
gchar * uri
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:85
NvDsUriSrcBinRtpProtocol
NvDsUriSrcBinRtpProtocol
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:47
SMART_REC_MP4
@ SMART_REC_MP4
Definition: includes/gst-nvdscommonconfig.h:69
_GstDsNvUriSrcConfig::disable_passthrough
gboolean disable_passthrough
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:104
_GstDsNvUriSrcConfig::sensorId
gchar * sensorId
unique Sensor ID string
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:103
SOURCE_TYPE_AUTO
@ SOURCE_TYPE_AUTO
Definition: includes/gst-nvdscommonconfig.h:35
_GstDsNvUriSrcConfig::smart_rec_file_prefix
gchar * smart_rec_file_prefix
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:89
_NvDsSensorInfo::sensor_name
gchar const * sensor_name
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:78
NvDsUriSrcBinSRType
NvDsUriSrcBinSRType
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:53
DEC_SKIP_FRAMES_TYPE_KEY_FRAME_ONLY
@ DEC_SKIP_FRAMES_TYPE_KEY_FRAME_ONLY
Definition: includes/gst-nvdscommonconfig.h:44
SMART_REC_MKV
@ SMART_REC_MKV
Definition: includes/gst-nvdscommonconfig.h:70
RTP_PROTOCOL_MULTI
@ RTP_PROTOCOL_MULTI
Definition: includes/gst-nvdscommonconfig.h:49
_NvDsSensorInfo::sensor_id
gchar const * sensor_id
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:77
NvDsUriSrcBinType
NvDsUriSrcBinType
Definition: includes/gst-nvdscommonconfig.h:33
_GstDsNvUriSrcConfig::drop_frame_interval
guint drop_frame_interval
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:100
_GstDsNvUriSrcConfig::sensorName
gchar * sensorName
Sensor Name string; could be NULL.
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:105
NvDsUriSrcBinDecSkipFrame
NvDsUriSrcBinDecSkipFrame
Definition: includes/gst-nvdscommonconfig.h:40
_GstDsNvUriSrcConfig::gpu_id
guint gpu_id
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:94
DEC_SKIP_FRAMES_TYPE_NONREF
@ DEC_SKIP_FRAMES_TYPE_NONREF
Definition: includes/gst-nvdscommonconfig.h:43
SMART_REC_CLOUD
@ SMART_REC_CLOUD
Definition: includes/gst-nvdscommonconfig.h:56
_GstDsNvUriSrcConfig::smart_rec_def_duration
guint smart_rec_def_duration
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:92
_GstDsNvUriSrcConfig::smart_rec_cache_size
guint smart_rec_cache_size
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:93
RTP_PROTOCOL_TCP
@ RTP_PROTOCOL_TCP
Definition: includes/gst-nvdscommonconfig.h:50
SMART_REC_AUDIO_VIDEO
@ SMART_REC_AUDIO_VIDEO
Definition: includes/gst-nvdscommonconfig.h:62
NvDsUriSrcBinDecSkipFrame
NvDsUriSrcBinDecSkipFrame
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:40
_GstDsNvUriSrcConfig::smart_rec_dir_path
gchar * smart_rec_dir_path
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:88
SMART_REC_DISABLE
@ SMART_REC_DISABLE
Definition: includes/gst-nvdscommonconfig.h:55
NvDsUriSrcBinSRCont
NvDsUriSrcBinSRCont
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:67
NvDsUriSrcBinSRMode
NvDsUriSrcBinSRMode
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:60
SMART_REC_MULTI
@ SMART_REC_MULTI
Definition: includes/gst-nvdscommonconfig.h:57
_NvDsSensorInfo
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:73
_GstDsNvUriSrcConfig::cuda_memory_type
guint cuda_memory_type
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:99
NvDsUriSrcBinSRType
NvDsUriSrcBinSRType
Definition: includes/gst-nvdscommonconfig.h:53
_GstDsNvUriSrcConfig::smart_rec_mode
NvDsUriSrcBinSRMode smart_rec_mode
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:91
DEC_SKIP_FRAMES_TYPE_NONE
@ DEC_SKIP_FRAMES_TYPE_NONE
Definition: includes/gst-nvdscommonconfig.h:42
_GstDsNvUriSrcConfig::latency
gint latency
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:86
_GstDsNvUriSrcConfig::loop
gboolean loop
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:84
_GstDsNvUriSrcConfig::rtp_protocol
NvDsUriSrcBinRtpProtocol rtp_protocol
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:96
_GstDsNvUriSrcConfig::num_extra_surfaces
guint num_extra_surfaces
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:97
_GstDsNvUriSrcConfig::source_id
gint source_id
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:95
NvDsUriSrcBinRtpProtocol
NvDsUriSrcBinRtpProtocol
Definition: includes/gst-nvdscommonconfig.h:47
GstDsNvStreammuxConfig
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:109
SOURCE_TYPE_RTSP
@ SOURCE_TYPE_RTSP
Definition: includes/gst-nvdscommonconfig.h:37
_GstDsNvUriSrcConfig::skip_frames_type
NvDsUriSrcBinDecSkipFrame skip_frames_type
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:98
_GstDsNvUriSrcConfig::rtsp_reconnect_interval_sec
gint rtsp_reconnect_interval_sec
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:101
SOURCE_TYPE_URI
@ SOURCE_TYPE_URI
Definition: includes/gst-nvdscommonconfig.h:36
NvDsUriSrcBinType
NvDsUriSrcBinType
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:33
_NvDsSensorInfo::uri
gchar const * uri
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:76
NvDsSensorInfo
struct _NvDsSensorInfo NvDsSensorInfo