NVIDIA DeepStream SDK API Reference

8.0 Release
sources/includes/gst-nvdscommonconfig.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2022-2026 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;
111  guint gpu_id;
112  gint source_id;
129  gchar *sensorId;
131  gchar *sensorName;
132  gboolean disable_audio;
133  gboolean drop_on_latency;
140  gchar* proto_lib;
141  gchar* conn_str;
142  gchar* topic;
146 
147 typedef struct
148 {
149  // Struct members to store config / properties for the element
150 
151  //mandatory configs when using legacy nvstreammux
155 
156  //not mandatory; auto configured
158 
159  //not mandatory; defaults will be used
164  guint gpu_id;
166  gboolean live_source;
167  gboolean enable_padding;
170  gboolean sync_inputs;
171  guint64 max_latency;
174 
175  guint64 frame_duration;
177  gboolean async_process;
178  gboolean no_pipeline_eos;
180  gboolean sort_batch;
181  gboolean buffer_cache;
188 
189 #ifdef __cplusplus
190 }
191 #endif
192 
193 #endif
SMART_REC_VIDEO_ONLY
@ SMART_REC_VIDEO_ONLY
Definition: sources/includes/gst-nvdscommonconfig.h:73
_GstDsNvUriSrcConfig::smart_rec_container
NvDsUriSrcBinSRCont smart_rec_container
Definition: sources/includes/gst-nvdscommonconfig.h:107
_GstDsNvUriSrcConfig::proto_lib
gchar * proto_lib
Definition: sources/includes/gst-nvdscommonconfig.h:140
NvDsUriSrcBinRtpProtocol
NvDsUriSrcBinRtpProtocol
Definition: sources/includes/gst-nvdscommonconfig.h:36
GstDsNvStreammuxConfig::live_source
gboolean live_source
Definition: sources/includes/gst-nvdscommonconfig.h:166
_GstDsNvUriSrcConfig::extract_sei_type5_data
gboolean extract_sei_type5_data
Definition: sources/includes/gst-nvdscommonconfig.h:120
GstDsNvStreammuxConfig::nvbuf_memory_type
guint nvbuf_memory_type
Definition: sources/includes/gst-nvdscommonconfig.h:165
_GstDsNvUriSrcConfig
Definition: sources/includes/gst-nvdscommonconfig.h:97
_GstDsNvUriSrcConfig::disable_audio
gboolean disable_audio
Definition: sources/includes/gst-nvdscommonconfig.h:132
SMART_REC_AUDIO_ONLY
@ SMART_REC_AUDIO_ONLY
Definition: sources/includes/gst-nvdscommonconfig.h:74
_NvDsRtspAttemptsInfo::source_id
guint source_id
Definition: sources/includes/gst-nvdscommonconfig.h:94
NvDsUriSrcBinDecSkipFrame
NvDsUriSrcBinDecSkipFrame
Definition: sources/includes/gst-nvdscommonconfig.h:29
BUFFER_MODE_SYNCED
@ BUFFER_MODE_SYNCED
Definition: sources/includes/gst-nvdscommonconfig.h:60
GstDsNvStreammuxConfig::align_first_buffer
gboolean align_first_buffer
Definition: sources/includes/gst-nvdscommonconfig.h:184
LEAKY_UPSTREAM
@ LEAKY_UPSTREAM
Definition: sources/includes/gst-nvdscommonconfig.h:50
RTP_PROTOCOL_TCP
@ RTP_PROTOCOL_TCP
Definition: sources/includes/gst-nvdscommonconfig.h:41
LEAKY_NONE
@ LEAKY_NONE
Definition: sources/includes/gst-nvdscommonconfig.h:49
_NvDsSensorInfo::source_id
guint source_id
Definition: sources/includes/gst-nvdscommonconfig.h:85
GstDsNvStreammuxConfig::drop_backward_sei
gboolean drop_backward_sei
Definition: sources/includes/gst-nvdscommonconfig.h:186
_GstDsNvUriSrcConfig::src_type
NvDsUriSrcBinType src_type
Definition: sources/includes/gst-nvdscommonconfig.h:99
GstDsNvStreammuxConfig::batch_size
gint batch_size
Definition: sources/includes/gst-nvdscommonconfig.h:157
_GstDsNvUriSrcConfig::enable_error_propagation
gboolean enable_error_propagation
Definition: sources/includes/gst-nvdscommonconfig.h:139
_GstDsNvUriSrcConfig::smart_record
NvDsUriSrcBinSRType smart_record
Definition: sources/includes/gst-nvdscommonconfig.h:104
GstDsNvStreammuxConfig::extract_sei_type5_data
gboolean extract_sei_type5_data
Definition: sources/includes/gst-nvdscommonconfig.h:179
_GstDsNvUriSrcConfig::udp_buffer_size
guint udp_buffer_size
Definition: sources/includes/gst-nvdscommonconfig.h:128
GstDsNvStreammuxConfig::no_pipeline_eos
gboolean no_pipeline_eos
Definition: sources/includes/gst-nvdscommonconfig.h:178
NvDsUriSrcBinType
NvDsUriSrcBinType
Definition: sources/includes/gst-nvdscommonconfig.h:22
DEC_SKIP_FRAMES_TYPE_NONE
@ DEC_SKIP_FRAMES_TYPE_NONE
Definition: sources/includes/gst-nvdscommonconfig.h:31
RTP_PROTOCOL_UDP_UDPMCAST_TCP
@ RTP_PROTOCOL_UDP_UDPMCAST_TCP
Definition: sources/includes/gst-nvdscommonconfig.h:42
_GstDsNvUriSrcConfig::simulate_fps_interval_ms
guint simulate_fps_interval_ms
Definition: sources/includes/gst-nvdscommonconfig.h:143
GstDsNvStreammuxConfig::batched_push_timeout
gint batched_push_timeout
Definition: sources/includes/gst-nvdscommonconfig.h:154
BUFFER_MODE_BUFFER
@ BUFFER_MODE_BUFFER
Definition: sources/includes/gst-nvdscommonconfig.h:58
RTP_PROTOCOL_TLS
@ RTP_PROTOCOL_TLS
Definition: sources/includes/gst-nvdscommonconfig.h:44
_GstDsNvUriSrcConfig::creation_time_ns
guint64 creation_time_ns
Stream creation time in nanoseconds since epoch (from ISO 8601 timestamp)
Definition: sources/includes/gst-nvdscommonconfig.h:144
_GstDsNvUriSrcConfig::leaky
NvDsUriSrcBinLeaky leaky
Definition: sources/includes/gst-nvdscommonconfig.h:123
NvDsUriSrcBinSRType
NvDsUriSrcBinSRType
Definition: sources/includes/gst-nvdscommonconfig.h:63
DEC_SKIP_FRAMES_TYPE_KEY_FRAME_ONLY
@ DEC_SKIP_FRAMES_TYPE_KEY_FRAME_ONLY
Definition: sources/includes/gst-nvdscommonconfig.h:33
_GstDsNvUriSrcConfig::uri
gchar * uri
Definition: sources/includes/gst-nvdscommonconfig.h:101
BUFFER_MODE_UNKNOWN
@ BUFFER_MODE_UNKNOWN
Definition: sources/includes/gst-nvdscommonconfig.h:56
LEAKY_DOWNSTREAM
@ LEAKY_DOWNSTREAM
Definition: sources/includes/gst-nvdscommonconfig.h:51
RTP_PROTOCOL_UDP
@ RTP_PROTOCOL_UDP
Definition: sources/includes/gst-nvdscommonconfig.h:39
_GstDsNvUriSrcConfig::ipc_connection_interval
guint64 ipc_connection_interval
Definition: sources/includes/gst-nvdscommonconfig.h:137
NvDsUriSrcBinSRMode
NvDsUriSrcBinSRMode
Definition: sources/includes/gst-nvdscommonconfig.h:70
_GstDsNvUriSrcConfig::drop_on_latency
gboolean drop_on_latency
Definition: sources/includes/gst-nvdscommonconfig.h:133
GstDsNvStreammuxConfig::pipeline_width
gint pipeline_width
Definition: sources/includes/gst-nvdscommonconfig.h:152
GstDsNvStreammuxConfig::gpu_id
guint gpu_id
Definition: sources/includes/gst-nvdscommonconfig.h:164
BUFFER_MODE_AUTO
@ BUFFER_MODE_AUTO
Definition: sources/includes/gst-nvdscommonconfig.h:59
_GstDsNvUriSrcConfig::buffer_mode
NvDsUriSrcBinBufferMode buffer_mode
Definition: sources/includes/gst-nvdscommonconfig.h:114
GstDsNvStreammuxConfig::extract_sei_sim_time
gboolean extract_sei_sim_time
Definition: sources/includes/gst-nvdscommonconfig.h:183
_GstDsNvUriSrcConfig::disable_passthrough
gboolean disable_passthrough
Definition: sources/includes/gst-nvdscommonconfig.h:130
_GstDsNvUriSrcConfig::ipc_socket_path
gchar * ipc_socket_path
Definition: sources/includes/gst-nvdscommonconfig.h:135
GstDsNvStreammuxConfig::frame_duration
guint64 frame_duration
Definition: sources/includes/gst-nvdscommonconfig.h:175
GstDsNvStreammuxConfig::maxBatchSize
guint maxBatchSize
Definition: sources/includes/gst-nvdscommonconfig.h:176
GstDsNvStreammuxConfig::frame_num_reset_on_eos
gboolean frame_num_reset_on_eos
Definition: sources/includes/gst-nvdscommonconfig.h:172
GstDsNvStreammuxConfig::async_process
gboolean async_process
Definition: sources/includes/gst-nvdscommonconfig.h:177
GstDsNvStreammuxConfig::buffer_cache
gboolean buffer_cache
Definition: sources/includes/gst-nvdscommonconfig.h:181
SOURCE_TYPE_RTSP
@ SOURCE_TYPE_RTSP
Definition: sources/includes/gst-nvdscommonconfig.h:26
_GstDsNvUriSrcConfig::sensorId
gchar * sensorId
unique Sensor ID string
Definition: sources/includes/gst-nvdscommonconfig.h:129
GstDsNvStreammuxConfig::buffer_pool_size
gint buffer_pool_size
Definition: sources/includes/gst-nvdscommonconfig.h:160
_GstDsNvUriSrcConfig::max_size_buffers
guint max_size_buffers
Definition: sources/includes/gst-nvdscommonconfig.h:124
NvDsSensorInfo
struct _NvDsSensorInfo NvDsSensorInfo
_NvDsRtspAttemptsInfo
Definition: sources/includes/gst-nvdscommonconfig.h:91
_GstDsNvUriSrcConfig::smart_rec_file_prefix
gchar * smart_rec_file_prefix
Definition: sources/includes/gst-nvdscommonconfig.h:106
_NvDsSensorInfo::sensor_name
gchar const * sensor_name
Definition: sources/includes/gst-nvdscommonconfig.h:88
SOURCE_TYPE_URI
@ SOURCE_TYPE_URI
Definition: sources/includes/gst-nvdscommonconfig.h:25
GstDsNvStreammuxConfig::num_surfaces_per_frame
gint num_surfaces_per_frame
Definition: sources/includes/gst-nvdscommonconfig.h:162
_GstDsNvUriSrcConfig::rtsp_reconnect_interval_sec_org
gint rtsp_reconnect_interval_sec_org
Definition: sources/includes/gst-nvdscommonconfig.h:121
_NvDsSensorInfo::sensor_id
gchar const * sensor_id
Definition: sources/includes/gst-nvdscommonconfig.h:87
NvDsUriSrcBinSRCont
NvDsUriSrcBinSRCont
Definition: sources/includes/gst-nvdscommonconfig.h:77
_GstDsNvUriSrcConfig::topic
gchar * topic
Definition: sources/includes/gst-nvdscommonconfig.h:142
_GstDsNvUriSrcConfig::drop_frame_interval
guint drop_frame_interval
Definition: sources/includes/gst-nvdscommonconfig.h:118
_GstDsNvUriSrcConfig::sensorName
gchar * sensorName
Sensor Name string; could be NULL.
Definition: sources/includes/gst-nvdscommonconfig.h:131
SMART_REC_CLOUD
@ SMART_REC_CLOUD
Definition: sources/includes/gst-nvdscommonconfig.h:66
_GstDsNvUriSrcConfig::gpu_id
guint gpu_id
Definition: sources/includes/gst-nvdscommonconfig.h:111
SMART_REC_MULTI
@ SMART_REC_MULTI
Definition: sources/includes/gst-nvdscommonconfig.h:67
SMART_REC_AUDIO_VIDEO
@ SMART_REC_AUDIO_VIDEO
Definition: sources/includes/gst-nvdscommonconfig.h:72
SMART_REC_DISABLE
@ SMART_REC_DISABLE
Definition: sources/includes/gst-nvdscommonconfig.h:65
_GstDsNvUriSrcConfig::smart_rec_def_duration
guint smart_rec_def_duration
Definition: sources/includes/gst-nvdscommonconfig.h:109
_GstDsNvUriSrcConfig::smart_rec_cache_size
guint smart_rec_cache_size
Definition: sources/includes/gst-nvdscommonconfig.h:110
_GstDsNvUriSrcConfig::low_latency_mode
gboolean low_latency_mode
Definition: sources/includes/gst-nvdscommonconfig.h:119
GstDsNvStreammuxConfig::enable_padding
gboolean enable_padding
Definition: sources/includes/gst-nvdscommonconfig.h:167
GstDsNvStreammuxConfig::pipeline_height
gint pipeline_height
Definition: sources/includes/gst-nvdscommonconfig.h:153
GstDsNvStreammuxConfig::sort_batch
gboolean sort_batch
Definition: sources/includes/gst-nvdscommonconfig.h:180
_GstDsNvUriSrcConfig::num_rtsp_reconnects
gint num_rtsp_reconnects
Definition: sources/includes/gst-nvdscommonconfig.h:127
NvDsUriSrcBinBufferMode
NvDsUriSrcBinBufferMode
Definition: sources/includes/gst-nvdscommonconfig.h:54
_GstDsNvUriSrcConfig::smart_rec_dir_path
gchar * smart_rec_dir_path
Definition: sources/includes/gst-nvdscommonconfig.h:105
GstDsNvUriSrcConfig
struct _GstDsNvUriSrcConfig GstDsNvUriSrcConfig
BUFFER_MODE_SLAVE
@ BUFFER_MODE_SLAVE
Definition: sources/includes/gst-nvdscommonconfig.h:57
GstDsNvStreammuxConfig::buffer_cache_timeout
gint buffer_cache_timeout
Definition: sources/includes/gst-nvdscommonconfig.h:182
_NvDsSensorInfo
Definition: sources/includes/gst-nvdscommonconfig.h:83
_GstDsNvUriSrcConfig::cuda_memory_type
guint cuda_memory_type
Definition: sources/includes/gst-nvdscommonconfig.h:117
GstDsNvStreammuxConfig::attach_sys_ts_as_ntp
gboolean attach_sys_ts_as_ntp
Definition: sources/includes/gst-nvdscommonconfig.h:168
GstDsNvStreammuxConfig::compute_hw
gint compute_hw
Definition: sources/includes/gst-nvdscommonconfig.h:161
GstDsNvStreammuxConfig::interpolation_method
gint interpolation_method
Definition: sources/includes/gst-nvdscommonconfig.h:163
_GstDsNvUriSrcConfig::smart_rec_mode
NvDsUriSrcBinSRMode smart_rec_mode
Definition: sources/includes/gst-nvdscommonconfig.h:108
RTP_PROTOCOL_UNKNOWN
@ RTP_PROTOCOL_UNKNOWN
Definition: sources/includes/gst-nvdscommonconfig.h:38
GstDsNvStreammuxConfig::config_file_path
gchar * config_file_path
Definition: sources/includes/gst-nvdscommonconfig.h:169
_GstDsNvUriSrcConfig::latency
gint latency
Definition: sources/includes/gst-nvdscommonconfig.h:103
_GstDsNvUriSrcConfig::loop
gboolean loop
Definition: sources/includes/gst-nvdscommonconfig.h:100
_GstDsNvUriSrcConfig::rtp_protocol
NvDsUriSrcBinRtpProtocol rtp_protocol
Definition: sources/includes/gst-nvdscommonconfig.h:113
GstDsNvStreammuxConfig::sync_inputs
gboolean sync_inputs
Definition: sources/includes/gst-nvdscommonconfig.h:170
_GstDsNvUriSrcConfig::num_extra_surfaces
guint num_extra_surfaces
Definition: sources/includes/gst-nvdscommonconfig.h:115
NvDsRtspAttemptsInfo
struct _NvDsRtspAttemptsInfo NvDsRtspAttemptsInfo
_GstDsNvUriSrcConfig::sei_uuid
gchar * sei_uuid
Definition: sources/includes/gst-nvdscommonconfig.h:102
_GstDsNvUriSrcConfig::source_id
gint source_id
Definition: sources/includes/gst-nvdscommonconfig.h:112
GstDsNvStreammuxConfig
Definition: sources/includes/gst-nvdscommonconfig.h:147
GstDsNvStreammuxConfig::frame_num_reset_on_stream_reset
gboolean frame_num_reset_on_stream_reset
Definition: sources/includes/gst-nvdscommonconfig.h:173
GstDsNvStreammuxConfig::max_latency
guint64 max_latency
Definition: sources/includes/gst-nvdscommonconfig.h:171
SMART_REC_MKV
@ SMART_REC_MKV
Definition: sources/includes/gst-nvdscommonconfig.h:80
RTP_PROTOCOL_HTTP
@ RTP_PROTOCOL_HTTP
Definition: sources/includes/gst-nvdscommonconfig.h:43
_GstDsNvUriSrcConfig::skip_frames_type
NvDsUriSrcBinDecSkipFrame skip_frames_type
Definition: sources/includes/gst-nvdscommonconfig.h:116
DEC_SKIP_FRAMES_TYPE_NONREF
@ DEC_SKIP_FRAMES_TYPE_NONREF
Definition: sources/includes/gst-nvdscommonconfig.h:32
_GstDsNvUriSrcConfig::rtsp_reconnect_interval_sec
gint rtsp_reconnect_interval_sec
Definition: sources/includes/gst-nvdscommonconfig.h:122
NvDsUriSrcBinLeaky
NvDsUriSrcBinLeaky
Definition: sources/includes/gst-nvdscommonconfig.h:47
_GstDsNvUriSrcConfig::ipc_connection_attempts
gint ipc_connection_attempts
Definition: sources/includes/gst-nvdscommonconfig.h:136
SOURCE_TYPE_AUTO
@ SOURCE_TYPE_AUTO
Definition: sources/includes/gst-nvdscommonconfig.h:24
SMART_REC_MP4
@ SMART_REC_MP4
Definition: sources/includes/gst-nvdscommonconfig.h:79
GstDsNvStreammuxConfig::sync_inputs_ntp
guint sync_inputs_ntp
Definition: sources/includes/gst-nvdscommonconfig.h:185
_GstDsNvUriSrcConfig::sensorIdToPadIdMapping
gboolean sensorIdToPadIdMapping
Definition: sources/includes/gst-nvdscommonconfig.h:138
_GstDsNvUriSrcConfig::conn_str
gchar * conn_str
Definition: sources/includes/gst-nvdscommonconfig.h:141
_NvDsSensorInfo::uri
gchar const * uri
Definition: sources/includes/gst-nvdscommonconfig.h:86
_GstDsNvUriSrcConfig::ipc_buffer_timestamp_copy
gboolean ipc_buffer_timestamp_copy
Definition: sources/includes/gst-nvdscommonconfig.h:134
_GstDsNvUriSrcConfig::rtsp_reconnect_attempts
gint rtsp_reconnect_attempts
Definition: sources/includes/gst-nvdscommonconfig.h:126
RTP_PROTOCOL_UDP_MCAST
@ RTP_PROTOCOL_UDP_MCAST
Definition: sources/includes/gst-nvdscommonconfig.h:40
_NvDsRtspAttemptsInfo::attempt_exceeded
gboolean attempt_exceeded
Definition: sources/includes/gst-nvdscommonconfig.h:93
_GstDsNvUriSrcConfig::init_rtsp_reconnect_interval_sec
gint init_rtsp_reconnect_interval_sec
Definition: sources/includes/gst-nvdscommonconfig.h:125