NVIDIA DeepStream SDK API Reference

8.0 Release
libs/gstnvdscustomhelper/gst-nvdscommonconfig.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2022-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
13 #ifndef _GST_NVDSCOMMON_CONFIG_H_
14 #define _GST_NVDSCOMMON_CONFIG_H_
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 #include <gst/gst.h>
21 
22 typedef enum
23 {
28 
29 typedef enum
30 {
35 
36 typedef enum
37 {
46 
47 typedef enum
48 {
53 
54 typedef enum
55 {
62 
63 typedef enum
64 {
69 
70 typedef enum
71 {
76 
77 typedef enum
78 {
82 
83 typedef struct _NvDsSensorInfo
84 {
85  guint source_id;
86  gchar const* uri;
87  gchar const* sensor_id;
88  gchar const* sensor_name;
90 
91 typedef struct _NvDsRtspAttemptsInfo
92 {
93  gboolean attempt_exceeded;
94  guint source_id;
96 
97 typedef struct _GstDsNvUriSrcConfig
98 {
100  gboolean loop;
101  gchar *uri;
102  gchar *sei_uuid;
103  gint latency;
105  gchar *smart_rec_dir_path;
106  gchar *smart_rec_file_prefix;
110  guint smart_rec_cache_size;
111  guint gpu_id;
112  gint source_id;
115  guint num_extra_surfaces;
117  guint cuda_memory_type;
118  guint drop_frame_interval;
119  gboolean low_latency_mode;
120  gboolean extract_sei_type5_data;
124  guint max_size_buffers;
127  gint num_rtsp_reconnects;
128  guint udp_buffer_size;
129  gchar *sensorId;
130  gboolean disable_passthrough;
131  gchar *sensorName;
132  gboolean disable_audio;
133  gboolean drop_on_latency;
134  gboolean ipc_buffer_timestamp_copy;
135  gchar *ipc_socket_path;
137  guint64 ipc_connection_interval;
138  gboolean sensorIdToPadIdMapping;
140 
141 typedef struct
142 {
143  // Struct members to store config / properties for the element
144 
145  //mandatory configs when using legacy nvstreammux
146  gint pipeline_width;
147  gint pipeline_height;
148  gint batched_push_timeout;
149 
150  //not mandatory; auto configured
151  gint batch_size;
152 
153  //not mandatory; defaults will be used
154  gint buffer_pool_size;
155  gint compute_hw;
156  gint num_surfaces_per_frame;
157  gint interpolation_method;
158  guint gpu_id;
159  guint nvbuf_memory_type;
160  gboolean live_source;
161  gboolean enable_padding;
162  gboolean attach_sys_ts_as_ntp;
163  gchar* config_file_path;
164  gboolean sync_inputs;
165  guint64 max_latency;
166  gboolean frame_num_reset_on_eos;
167  gboolean frame_num_reset_on_stream_reset;
168 
169  guint64 frame_duration;
170  guint maxBatchSize;
171  gboolean async_process;
172  gboolean no_pipeline_eos;
173  gboolean extract_sei_type5_data;
174  gboolean sort_batch;
175  gboolean buffer_cache;
176  gint buffer_cache_timeout;
177  gboolean extract_sei_sim_time;
178  gboolean align_first_buffer;
179  guint sync_inputs_ntp;
181 
182 #ifdef __cplusplus
183 }
184 #endif
185 
186 #endif
_GstDsNvUriSrcConfig::smart_rec_container
NvDsUriSrcBinSRCont smart_rec_container
Definition: includes/gst-nvdscommonconfig.h:107
SOURCE_TYPE_RTSP
@ SOURCE_TYPE_RTSP
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:26
NvDsUriSrcBinSRMode
NvDsUriSrcBinSRMode
Definition: includes/gst-nvdscommonconfig.h:70
SMART_REC_MP4
@ SMART_REC_MP4
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:79
NvDsUriSrcBinLeaky
NvDsUriSrcBinLeaky
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:47
_GstDsNvUriSrcConfig::extract_sei_type5_data
gboolean extract_sei_type5_data
Definition: includes/gst-nvdscommonconfig.h:120
SMART_REC_AUDIO_VIDEO
@ SMART_REC_AUDIO_VIDEO
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:72
_GstDsNvUriSrcConfig
Definition: includes/gst-nvdscommonconfig.h:97
_GstDsNvUriSrcConfig::disable_audio
gboolean disable_audio
Definition: includes/gst-nvdscommonconfig.h:132
DEC_SKIP_FRAMES_TYPE_NONE
@ DEC_SKIP_FRAMES_TYPE_NONE
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:31
_NvDsRtspAttemptsInfo::source_id
guint source_id
Definition: includes/gst-nvdscommonconfig.h:94
SMART_REC_VIDEO_ONLY
@ SMART_REC_VIDEO_ONLY
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:73
_NvDsSensorInfo::source_id
guint source_id
Definition: includes/gst-nvdscommonconfig.h:85
BUFFER_MODE_UNKNOWN
@ BUFFER_MODE_UNKNOWN
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:56
_GstDsNvUriSrcConfig::src_type
NvDsUriSrcBinType src_type
Definition: includes/gst-nvdscommonconfig.h:99
_GstDsNvUriSrcConfig::smart_record
NvDsUriSrcBinSRType smart_record
Definition: includes/gst-nvdscommonconfig.h:104
_GstDsNvUriSrcConfig::udp_buffer_size
guint udp_buffer_size
Definition: includes/gst-nvdscommonconfig.h:128
SOURCE_TYPE_URI
@ SOURCE_TYPE_URI
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:25
NvDsRtspAttemptsInfo
struct _NvDsRtspAttemptsInfo NvDsRtspAttemptsInfo
NvDsUriSrcBinSRCont
NvDsUriSrcBinSRCont
Definition: includes/gst-nvdscommonconfig.h:77
SMART_REC_DISABLE
@ SMART_REC_DISABLE
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:65
NvDsSensorInfo
struct _NvDsSensorInfo NvDsSensorInfo
_GstDsNvUriSrcConfig::leaky
NvDsUriSrcBinLeaky leaky
Definition: includes/gst-nvdscommonconfig.h:123
_GstDsNvUriSrcConfig::uri
gchar * uri
Definition: includes/gst-nvdscommonconfig.h:101
LEAKY_NONE
@ LEAKY_NONE
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:49
_GstDsNvUriSrcConfig::ipc_connection_interval
guint64 ipc_connection_interval
Definition: includes/gst-nvdscommonconfig.h:137
_GstDsNvUriSrcConfig::drop_on_latency
gboolean drop_on_latency
Definition: includes/gst-nvdscommonconfig.h:133
NvDsUriSrcBinRtpProtocol
NvDsUriSrcBinRtpProtocol
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:36
_GstDsNvUriSrcConfig::buffer_mode
NvDsUriSrcBinBufferMode buffer_mode
Definition: includes/gst-nvdscommonconfig.h:114
_GstDsNvUriSrcConfig::disable_passthrough
gboolean disable_passthrough
Definition: includes/gst-nvdscommonconfig.h:130
_GstDsNvUriSrcConfig::ipc_socket_path
gchar * ipc_socket_path
Definition: includes/gst-nvdscommonconfig.h:135
BUFFER_MODE_SLAVE
@ BUFFER_MODE_SLAVE
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:57
SOURCE_TYPE_AUTO
@ SOURCE_TYPE_AUTO
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:24
_GstDsNvUriSrcConfig::sensorId
gchar * sensorId
unique Sensor ID string
Definition: includes/gst-nvdscommonconfig.h:129
_GstDsNvUriSrcConfig::max_size_buffers
guint max_size_buffers
Definition: includes/gst-nvdscommonconfig.h:124
_NvDsRtspAttemptsInfo
Definition: includes/gst-nvdscommonconfig.h:91
_GstDsNvUriSrcConfig::smart_rec_file_prefix
gchar * smart_rec_file_prefix
Definition: includes/gst-nvdscommonconfig.h:106
_NvDsSensorInfo::sensor_name
gchar const * sensor_name
Definition: includes/gst-nvdscommonconfig.h:88
NvDsUriSrcBinBufferMode
NvDsUriSrcBinBufferMode
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:54
NvDsUriSrcBinSRType
NvDsUriSrcBinSRType
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:63
_GstDsNvUriSrcConfig::rtsp_reconnect_interval_sec_org
gint rtsp_reconnect_interval_sec_org
Definition: includes/gst-nvdscommonconfig.h:121
BUFFER_MODE_AUTO
@ BUFFER_MODE_AUTO
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:59
_NvDsSensorInfo::sensor_id
gchar const * sensor_id
Definition: includes/gst-nvdscommonconfig.h:87
LEAKY_DOWNSTREAM
@ LEAKY_DOWNSTREAM
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:51
NvDsUriSrcBinType
NvDsUriSrcBinType
Definition: includes/gst-nvdscommonconfig.h:22
SMART_REC_MKV
@ SMART_REC_MKV
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:80
RTP_PROTOCOL_UDP_MCAST
@ RTP_PROTOCOL_UDP_MCAST
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:40
_GstDsNvUriSrcConfig::drop_frame_interval
guint drop_frame_interval
Definition: includes/gst-nvdscommonconfig.h:118
_GstDsNvUriSrcConfig::sensorName
gchar * sensorName
Sensor Name string; could be NULL.
Definition: includes/gst-nvdscommonconfig.h:131
NvDsUriSrcBinDecSkipFrame
NvDsUriSrcBinDecSkipFrame
Definition: includes/gst-nvdscommonconfig.h:29
RTP_PROTOCOL_TLS
@ RTP_PROTOCOL_TLS
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:44
_GstDsNvUriSrcConfig::gpu_id
guint gpu_id
Definition: includes/gst-nvdscommonconfig.h:111
SMART_REC_CLOUD
@ SMART_REC_CLOUD
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:66
_GstDsNvUriSrcConfig::smart_rec_def_duration
guint smart_rec_def_duration
Definition: includes/gst-nvdscommonconfig.h:109
DEC_SKIP_FRAMES_TYPE_NONREF
@ DEC_SKIP_FRAMES_TYPE_NONREF
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:32
_GstDsNvUriSrcConfig::smart_rec_cache_size
guint smart_rec_cache_size
Definition: includes/gst-nvdscommonconfig.h:110
_GstDsNvUriSrcConfig::low_latency_mode
gboolean low_latency_mode
Definition: includes/gst-nvdscommonconfig.h:119
RTP_PROTOCOL_UDP_UDPMCAST_TCP
@ RTP_PROTOCOL_UDP_UDPMCAST_TCP
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:42
_GstDsNvUriSrcConfig::num_rtsp_reconnects
gint num_rtsp_reconnects
Definition: includes/gst-nvdscommonconfig.h:127
NvDsUriSrcBinDecSkipFrame
NvDsUriSrcBinDecSkipFrame
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:29
RTP_PROTOCOL_HTTP
@ RTP_PROTOCOL_HTTP
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:43
_GstDsNvUriSrcConfig::smart_rec_dir_path
gchar * smart_rec_dir_path
Definition: includes/gst-nvdscommonconfig.h:105
DEC_SKIP_FRAMES_TYPE_KEY_FRAME_ONLY
@ DEC_SKIP_FRAMES_TYPE_KEY_FRAME_ONLY
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:33
NvDsUriSrcBinSRCont
NvDsUriSrcBinSRCont
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:77
NvDsUriSrcBinSRMode
NvDsUriSrcBinSRMode
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:70
_NvDsSensorInfo
Definition: includes/gst-nvdscommonconfig.h:83
LEAKY_UPSTREAM
@ LEAKY_UPSTREAM
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:50
_GstDsNvUriSrcConfig::cuda_memory_type
guint cuda_memory_type
Definition: includes/gst-nvdscommonconfig.h:117
NvDsUriSrcBinSRType
NvDsUriSrcBinSRType
Definition: includes/gst-nvdscommonconfig.h:63
NvDsUriSrcBinBufferMode
NvDsUriSrcBinBufferMode
Definition: includes/gst-nvdscommonconfig.h:54
_GstDsNvUriSrcConfig::smart_rec_mode
NvDsUriSrcBinSRMode smart_rec_mode
Definition: includes/gst-nvdscommonconfig.h:108
RTP_PROTOCOL_UDP
@ RTP_PROTOCOL_UDP
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:39
_GstDsNvUriSrcConfig::latency
gint latency
Definition: includes/gst-nvdscommonconfig.h:103
_GstDsNvUriSrcConfig::loop
gboolean loop
Definition: includes/gst-nvdscommonconfig.h:100
_GstDsNvUriSrcConfig::rtp_protocol
NvDsUriSrcBinRtpProtocol rtp_protocol
Definition: includes/gst-nvdscommonconfig.h:113
_GstDsNvUriSrcConfig::num_extra_surfaces
guint num_extra_surfaces
Definition: includes/gst-nvdscommonconfig.h:115
_GstDsNvUriSrcConfig::sei_uuid
gchar * sei_uuid
Definition: includes/gst-nvdscommonconfig.h:102
_GstDsNvUriSrcConfig::source_id
gint source_id
Definition: includes/gst-nvdscommonconfig.h:112
NvDsUriSrcBinRtpProtocol
NvDsUriSrcBinRtpProtocol
Definition: includes/gst-nvdscommonconfig.h:36
BUFFER_MODE_BUFFER
@ BUFFER_MODE_BUFFER
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:58
NvDsUriSrcBinLeaky
NvDsUriSrcBinLeaky
Definition: includes/gst-nvdscommonconfig.h:47
GstDsNvStreammuxConfig
Definition: includes/gst-nvdscommonconfig.h:141
BUFFER_MODE_SYNCED
@ BUFFER_MODE_SYNCED
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:60
_GstDsNvUriSrcConfig::skip_frames_type
NvDsUriSrcBinDecSkipFrame skip_frames_type
Definition: includes/gst-nvdscommonconfig.h:116
_GstDsNvUriSrcConfig::rtsp_reconnect_interval_sec
gint rtsp_reconnect_interval_sec
Definition: includes/gst-nvdscommonconfig.h:122
SMART_REC_MULTI
@ SMART_REC_MULTI
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:67
RTP_PROTOCOL_TCP
@ RTP_PROTOCOL_TCP
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:41
_GstDsNvUriSrcConfig::ipc_connection_attempts
gint ipc_connection_attempts
Definition: includes/gst-nvdscommonconfig.h:136
NvDsUriSrcBinType
NvDsUriSrcBinType
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:22
_GstDsNvUriSrcConfig::sensorIdToPadIdMapping
gboolean sensorIdToPadIdMapping
Definition: includes/gst-nvdscommonconfig.h:138
_NvDsSensorInfo::uri
gchar const * uri
Definition: includes/gst-nvdscommonconfig.h:86
_GstDsNvUriSrcConfig::ipc_buffer_timestamp_copy
gboolean ipc_buffer_timestamp_copy
Definition: includes/gst-nvdscommonconfig.h:134
RTP_PROTOCOL_UNKNOWN
@ RTP_PROTOCOL_UNKNOWN
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:38
_GstDsNvUriSrcConfig::rtsp_reconnect_attempts
gint rtsp_reconnect_attempts
Definition: includes/gst-nvdscommonconfig.h:126
GstDsNvUriSrcConfig
struct _GstDsNvUriSrcConfig GstDsNvUriSrcConfig
SMART_REC_AUDIO_ONLY
@ SMART_REC_AUDIO_ONLY
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:74
_NvDsRtspAttemptsInfo::attempt_exceeded
gboolean attempt_exceeded
Definition: includes/gst-nvdscommonconfig.h:93
_GstDsNvUriSrcConfig::init_rtsp_reconnect_interval_sec
gint init_rtsp_reconnect_interval_sec
Definition: includes/gst-nvdscommonconfig.h:125