NVIDIA DeepStream SDK API Reference

8.0 Release
includes/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;
111  guint gpu_id;
112  gint source_id;
129  gchar *sensorId;
131  gchar *sensorName;
132  gboolean disable_audio;
133  gboolean drop_on_latency;
140 
141 typedef struct
142 {
143  // Struct members to store config / properties for the element
144 
145  //mandatory configs when using legacy nvstreammux
149 
150  //not mandatory; auto configured
152 
153  //not mandatory; defaults will be used
158  guint gpu_id;
160  gboolean live_source;
161  gboolean enable_padding;
164  gboolean sync_inputs;
165  guint64 max_latency;
168 
169  guint64 frame_duration;
171  gboolean async_process;
172  gboolean no_pipeline_eos;
174  gboolean sort_batch;
175  gboolean buffer_cache;
181 
182 #ifdef __cplusplus
183 }
184 #endif
185 
186 #endif
_GstDsNvUriSrcConfig::smart_rec_container
NvDsUriSrcBinSRCont smart_rec_container
Definition: includes/gst-nvdscommonconfig.h:107
GstDsNvStreammuxConfig::live_source
gboolean live_source
Definition: includes/gst-nvdscommonconfig.h:160
NvDsUriSrcBinSRMode
NvDsUriSrcBinSRMode
Definition: includes/gst-nvdscommonconfig.h:70
_GstDsNvUriSrcConfig::extract_sei_type5_data
gboolean extract_sei_type5_data
Definition: includes/gst-nvdscommonconfig.h:120
GstDsNvStreammuxConfig::nvbuf_memory_type
guint nvbuf_memory_type
Definition: includes/gst-nvdscommonconfig.h:159
BUFFER_MODE_UNKNOWN
@ BUFFER_MODE_UNKNOWN
Definition: includes/gst-nvdscommonconfig.h:56
SMART_REC_AUDIO_ONLY
@ SMART_REC_AUDIO_ONLY
Definition: includes/gst-nvdscommonconfig.h:74
_GstDsNvUriSrcConfig
Definition: includes/gst-nvdscommonconfig.h:97
_GstDsNvUriSrcConfig::disable_audio
gboolean disable_audio
Definition: includes/gst-nvdscommonconfig.h:132
_NvDsRtspAttemptsInfo::source_id
guint source_id
Definition: includes/gst-nvdscommonconfig.h:94
GstDsNvStreammuxConfig::align_first_buffer
gboolean align_first_buffer
Definition: includes/gst-nvdscommonconfig.h:178
NvDsRtspAttemptsInfo
struct _NvDsRtspAttemptsInfo NvDsRtspAttemptsInfo
RTP_PROTOCOL_HTTP
@ RTP_PROTOCOL_HTTP
Definition: includes/gst-nvdscommonconfig.h:43
GstDsNvUriSrcConfig
struct _GstDsNvUriSrcConfig GstDsNvUriSrcConfig
_NvDsSensorInfo::source_id
guint source_id
Definition: includes/gst-nvdscommonconfig.h:85
_GstDsNvUriSrcConfig::src_type
NvDsUriSrcBinType src_type
Definition: includes/gst-nvdscommonconfig.h:99
GstDsNvStreammuxConfig::batch_size
gint batch_size
Definition: includes/gst-nvdscommonconfig.h:151
_GstDsNvUriSrcConfig::smart_record
NvDsUriSrcBinSRType smart_record
Definition: includes/gst-nvdscommonconfig.h:104
GstDsNvStreammuxConfig::extract_sei_type5_data
gboolean extract_sei_type5_data
Definition: includes/gst-nvdscommonconfig.h:173
LEAKY_DOWNSTREAM
@ LEAKY_DOWNSTREAM
Definition: includes/gst-nvdscommonconfig.h:51
_GstDsNvUriSrcConfig::udp_buffer_size
guint udp_buffer_size
Definition: includes/gst-nvdscommonconfig.h:128
GstDsNvStreammuxConfig::no_pipeline_eos
gboolean no_pipeline_eos
Definition: includes/gst-nvdscommonconfig.h:172
NvDsUriSrcBinSRCont
NvDsUriSrcBinSRCont
Definition: includes/gst-nvdscommonconfig.h:77
GstDsNvStreammuxConfig::batched_push_timeout
gint batched_push_timeout
Definition: includes/gst-nvdscommonconfig.h:148
SMART_REC_VIDEO_ONLY
@ SMART_REC_VIDEO_ONLY
Definition: includes/gst-nvdscommonconfig.h:73
_GstDsNvUriSrcConfig::leaky
NvDsUriSrcBinLeaky leaky
Definition: includes/gst-nvdscommonconfig.h:123
_GstDsNvUriSrcConfig::uri
gchar * uri
Definition: includes/gst-nvdscommonconfig.h:101
_GstDsNvUriSrcConfig::ipc_connection_interval
guint64 ipc_connection_interval
Definition: includes/gst-nvdscommonconfig.h:137
LEAKY_NONE
@ LEAKY_NONE
Definition: includes/gst-nvdscommonconfig.h:49
RTP_PROTOCOL_UDP_MCAST
@ RTP_PROTOCOL_UDP_MCAST
Definition: includes/gst-nvdscommonconfig.h:40
_GstDsNvUriSrcConfig::drop_on_latency
gboolean drop_on_latency
Definition: includes/gst-nvdscommonconfig.h:133
GstDsNvStreammuxConfig::pipeline_width
gint pipeline_width
Definition: includes/gst-nvdscommonconfig.h:146
SMART_REC_MP4
@ SMART_REC_MP4
Definition: includes/gst-nvdscommonconfig.h:79
GstDsNvStreammuxConfig::gpu_id
guint gpu_id
Definition: includes/gst-nvdscommonconfig.h:158
_GstDsNvUriSrcConfig::buffer_mode
NvDsUriSrcBinBufferMode buffer_mode
Definition: includes/gst-nvdscommonconfig.h:114
GstDsNvStreammuxConfig::extract_sei_sim_time
gboolean extract_sei_sim_time
Definition: includes/gst-nvdscommonconfig.h:177
_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
GstDsNvStreammuxConfig::frame_duration
guint64 frame_duration
Definition: includes/gst-nvdscommonconfig.h:169
GstDsNvStreammuxConfig::maxBatchSize
guint maxBatchSize
Definition: includes/gst-nvdscommonconfig.h:170
GstDsNvStreammuxConfig::frame_num_reset_on_eos
gboolean frame_num_reset_on_eos
Definition: includes/gst-nvdscommonconfig.h:166
GstDsNvStreammuxConfig::async_process
gboolean async_process
Definition: includes/gst-nvdscommonconfig.h:171
GstDsNvStreammuxConfig::buffer_cache
gboolean buffer_cache
Definition: includes/gst-nvdscommonconfig.h:175
_GstDsNvUriSrcConfig::sensorId
gchar * sensorId
unique Sensor ID string
Definition: includes/gst-nvdscommonconfig.h:129
GstDsNvStreammuxConfig::buffer_pool_size
gint buffer_pool_size
Definition: includes/gst-nvdscommonconfig.h:154
_GstDsNvUriSrcConfig::max_size_buffers
guint max_size_buffers
Definition: includes/gst-nvdscommonconfig.h:124
SOURCE_TYPE_AUTO
@ SOURCE_TYPE_AUTO
Definition: includes/gst-nvdscommonconfig.h:24
_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
DEC_SKIP_FRAMES_TYPE_KEY_FRAME_ONLY
@ DEC_SKIP_FRAMES_TYPE_KEY_FRAME_ONLY
Definition: includes/gst-nvdscommonconfig.h:33
GstDsNvStreammuxConfig::num_surfaces_per_frame
gint num_surfaces_per_frame
Definition: includes/gst-nvdscommonconfig.h:156
SMART_REC_MKV
@ SMART_REC_MKV
Definition: includes/gst-nvdscommonconfig.h:80
_GstDsNvUriSrcConfig::rtsp_reconnect_interval_sec_org
gint rtsp_reconnect_interval_sec_org
Definition: includes/gst-nvdscommonconfig.h:121
_NvDsSensorInfo::sensor_id
gchar const * sensor_id
Definition: includes/gst-nvdscommonconfig.h:87
BUFFER_MODE_BUFFER
@ BUFFER_MODE_BUFFER
Definition: includes/gst-nvdscommonconfig.h:58
NvDsUriSrcBinType
NvDsUriSrcBinType
Definition: includes/gst-nvdscommonconfig.h:22
_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
_GstDsNvUriSrcConfig::gpu_id
guint gpu_id
Definition: includes/gst-nvdscommonconfig.h:111
DEC_SKIP_FRAMES_TYPE_NONREF
@ DEC_SKIP_FRAMES_TYPE_NONREF
Definition: includes/gst-nvdscommonconfig.h:32
SMART_REC_CLOUD
@ SMART_REC_CLOUD
Definition: includes/gst-nvdscommonconfig.h:66
_GstDsNvUriSrcConfig::smart_rec_def_duration
guint smart_rec_def_duration
Definition: includes/gst-nvdscommonconfig.h:109
BUFFER_MODE_SLAVE
@ BUFFER_MODE_SLAVE
Definition: includes/gst-nvdscommonconfig.h:57
_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
GstDsNvStreammuxConfig::enable_padding
gboolean enable_padding
Definition: includes/gst-nvdscommonconfig.h:161
GstDsNvStreammuxConfig::pipeline_height
gint pipeline_height
Definition: includes/gst-nvdscommonconfig.h:147
RTP_PROTOCOL_TCP
@ RTP_PROTOCOL_TCP
Definition: includes/gst-nvdscommonconfig.h:41
SMART_REC_AUDIO_VIDEO
@ SMART_REC_AUDIO_VIDEO
Definition: includes/gst-nvdscommonconfig.h:72
GstDsNvStreammuxConfig::sort_batch
gboolean sort_batch
Definition: includes/gst-nvdscommonconfig.h:174
_GstDsNvUriSrcConfig::num_rtsp_reconnects
gint num_rtsp_reconnects
Definition: includes/gst-nvdscommonconfig.h:127
RTP_PROTOCOL_UDP_UDPMCAST_TCP
@ RTP_PROTOCOL_UDP_UDPMCAST_TCP
Definition: includes/gst-nvdscommonconfig.h:42
_GstDsNvUriSrcConfig::smart_rec_dir_path
gchar * smart_rec_dir_path
Definition: includes/gst-nvdscommonconfig.h:105
SMART_REC_DISABLE
@ SMART_REC_DISABLE
Definition: includes/gst-nvdscommonconfig.h:65
SMART_REC_MULTI
@ SMART_REC_MULTI
Definition: includes/gst-nvdscommonconfig.h:67
GstDsNvStreammuxConfig::buffer_cache_timeout
gint buffer_cache_timeout
Definition: includes/gst-nvdscommonconfig.h:176
_NvDsSensorInfo
Definition: includes/gst-nvdscommonconfig.h:83
RTP_PROTOCOL_UNKNOWN
@ RTP_PROTOCOL_UNKNOWN
Definition: includes/gst-nvdscommonconfig.h:38
_GstDsNvUriSrcConfig::cuda_memory_type
guint cuda_memory_type
Definition: includes/gst-nvdscommonconfig.h:117
GstDsNvStreammuxConfig::attach_sys_ts_as_ntp
gboolean attach_sys_ts_as_ntp
Definition: includes/gst-nvdscommonconfig.h:162
GstDsNvStreammuxConfig::compute_hw
gint compute_hw
Definition: includes/gst-nvdscommonconfig.h:155
NvDsUriSrcBinSRType
NvDsUriSrcBinSRType
Definition: includes/gst-nvdscommonconfig.h:63
GstDsNvStreammuxConfig::interpolation_method
gint interpolation_method
Definition: includes/gst-nvdscommonconfig.h:157
NvDsUriSrcBinBufferMode
NvDsUriSrcBinBufferMode
Definition: includes/gst-nvdscommonconfig.h:54
_GstDsNvUriSrcConfig::smart_rec_mode
NvDsUriSrcBinSRMode smart_rec_mode
Definition: includes/gst-nvdscommonconfig.h:108
RTP_PROTOCOL_TLS
@ RTP_PROTOCOL_TLS
Definition: includes/gst-nvdscommonconfig.h:44
BUFFER_MODE_SYNCED
@ BUFFER_MODE_SYNCED
Definition: includes/gst-nvdscommonconfig.h:60
DEC_SKIP_FRAMES_TYPE_NONE
@ DEC_SKIP_FRAMES_TYPE_NONE
Definition: includes/gst-nvdscommonconfig.h:31
GstDsNvStreammuxConfig::config_file_path
gchar * config_file_path
Definition: includes/gst-nvdscommonconfig.h:163
_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
GstDsNvStreammuxConfig::sync_inputs
gboolean sync_inputs
Definition: includes/gst-nvdscommonconfig.h:164
_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_AUTO
@ BUFFER_MODE_AUTO
Definition: includes/gst-nvdscommonconfig.h:59
NvDsUriSrcBinLeaky
NvDsUriSrcBinLeaky
Definition: includes/gst-nvdscommonconfig.h:47
GstDsNvStreammuxConfig
Definition: includes/gst-nvdscommonconfig.h:141
GstDsNvStreammuxConfig::frame_num_reset_on_stream_reset
gboolean frame_num_reset_on_stream_reset
Definition: includes/gst-nvdscommonconfig.h:167
GstDsNvStreammuxConfig::max_latency
guint64 max_latency
Definition: includes/gst-nvdscommonconfig.h:165
SOURCE_TYPE_RTSP
@ SOURCE_TYPE_RTSP
Definition: includes/gst-nvdscommonconfig.h:26
_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
SOURCE_TYPE_URI
@ SOURCE_TYPE_URI
Definition: includes/gst-nvdscommonconfig.h:25
_GstDsNvUriSrcConfig::ipc_connection_attempts
gint ipc_connection_attempts
Definition: includes/gst-nvdscommonconfig.h:136
LEAKY_UPSTREAM
@ LEAKY_UPSTREAM
Definition: includes/gst-nvdscommonconfig.h:50
RTP_PROTOCOL_UDP
@ RTP_PROTOCOL_UDP
Definition: includes/gst-nvdscommonconfig.h:39
GstDsNvStreammuxConfig::sync_inputs_ntp
guint sync_inputs_ntp
Definition: includes/gst-nvdscommonconfig.h:179
_GstDsNvUriSrcConfig::sensorIdToPadIdMapping
gboolean sensorIdToPadIdMapping
Definition: includes/gst-nvdscommonconfig.h:138
_NvDsSensorInfo::uri
gchar const * uri
Definition: includes/gst-nvdscommonconfig.h:86
NvDsSensorInfo
struct _NvDsSensorInfo NvDsSensorInfo
_GstDsNvUriSrcConfig::ipc_buffer_timestamp_copy
gboolean ipc_buffer_timestamp_copy
Definition: includes/gst-nvdscommonconfig.h:134
_GstDsNvUriSrcConfig::rtsp_reconnect_attempts
gint rtsp_reconnect_attempts
Definition: includes/gst-nvdscommonconfig.h:126
_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