NVIDIA DeepStream SDK API Reference

9.1 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: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef _GST_NVDSCOMMON_CONFIG_H_
19 #define _GST_NVDSCOMMON_CONFIG_H_
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 #include <gst/gst.h>
26 
27 typedef enum
28 {
33 
34 typedef enum
35 {
40 
41 typedef enum
42 {
51 
52 typedef enum
53 {
58 
59 typedef enum
60 {
67 
68 typedef enum
69 {
74 
75 typedef enum
76 {
81 
82 typedef enum
83 {
87 
88 typedef struct _NvDsSensorInfo
89 {
90  guint source_id;
91  gchar const* uri;
92  gchar const* sensor_id;
93  gchar const* sensor_name;
95 
96 typedef struct _NvDsRtspAttemptsInfo
97 {
98  gboolean attempt_exceeded;
99  guint source_id;
101 
102 typedef struct _GstDsNvUriSrcConfig
103 {
105  gboolean loop;
106  gchar *uri;
107  gchar *sei_uuid;
108  gint latency;
116  guint gpu_id;
117  gint source_id;
134  gchar *sensorId;
136  gchar *sensorName;
137  gboolean disable_audio;
138  gboolean drop_on_latency;
145  gchar* proto_lib;
146  gchar* conn_str;
147  gchar* topic;
151 
152 typedef struct
153 {
154  // Struct members to store config / properties for the element
155 
156  //mandatory configs when using legacy nvstreammux
160 
161  //not mandatory; auto configured
163 
164  //not mandatory; defaults will be used
169  guint gpu_id;
171  gboolean live_source;
172  gboolean enable_padding;
175  gboolean sync_inputs;
176  guint64 max_latency;
179 
180  guint64 frame_duration;
182  gboolean async_process;
183  gboolean no_pipeline_eos;
185  gboolean sort_batch;
186  gboolean buffer_cache;
193 
194 #ifdef __cplusplus
195 }
196 #endif
197 
198 #endif
SMART_REC_VIDEO_ONLY
@ SMART_REC_VIDEO_ONLY
Definition: sources/includes/gst-nvdscommonconfig.h:78
_GstDsNvUriSrcConfig::smart_rec_container
NvDsUriSrcBinSRCont smart_rec_container
Definition: sources/includes/gst-nvdscommonconfig.h:112
_GstDsNvUriSrcConfig::proto_lib
gchar * proto_lib
Definition: sources/includes/gst-nvdscommonconfig.h:145
NvDsUriSrcBinRtpProtocol
NvDsUriSrcBinRtpProtocol
Definition: sources/includes/gst-nvdscommonconfig.h:41
GstDsNvStreammuxConfig::live_source
gboolean live_source
Definition: sources/includes/gst-nvdscommonconfig.h:171
_GstDsNvUriSrcConfig::extract_sei_type5_data
gboolean extract_sei_type5_data
Definition: sources/includes/gst-nvdscommonconfig.h:125
GstDsNvStreammuxConfig::nvbuf_memory_type
guint nvbuf_memory_type
Definition: sources/includes/gst-nvdscommonconfig.h:170
_GstDsNvUriSrcConfig
Definition: sources/includes/gst-nvdscommonconfig.h:102
_GstDsNvUriSrcConfig::disable_audio
gboolean disable_audio
Definition: sources/includes/gst-nvdscommonconfig.h:137
SMART_REC_AUDIO_ONLY
@ SMART_REC_AUDIO_ONLY
Definition: sources/includes/gst-nvdscommonconfig.h:79
_NvDsRtspAttemptsInfo::source_id
guint source_id
Definition: sources/includes/gst-nvdscommonconfig.h:99
NvDsUriSrcBinDecSkipFrame
NvDsUriSrcBinDecSkipFrame
Definition: sources/includes/gst-nvdscommonconfig.h:34
BUFFER_MODE_SYNCED
@ BUFFER_MODE_SYNCED
Definition: sources/includes/gst-nvdscommonconfig.h:65
GstDsNvStreammuxConfig::align_first_buffer
gboolean align_first_buffer
Definition: sources/includes/gst-nvdscommonconfig.h:189
LEAKY_UPSTREAM
@ LEAKY_UPSTREAM
Definition: sources/includes/gst-nvdscommonconfig.h:55
RTP_PROTOCOL_TCP
@ RTP_PROTOCOL_TCP
Definition: sources/includes/gst-nvdscommonconfig.h:46
LEAKY_NONE
@ LEAKY_NONE
Definition: sources/includes/gst-nvdscommonconfig.h:54
_NvDsSensorInfo::source_id
guint source_id
Definition: sources/includes/gst-nvdscommonconfig.h:90
GstDsNvStreammuxConfig::drop_backward_sei
gboolean drop_backward_sei
Definition: sources/includes/gst-nvdscommonconfig.h:191
_GstDsNvUriSrcConfig::src_type
NvDsUriSrcBinType src_type
Definition: sources/includes/gst-nvdscommonconfig.h:104
GstDsNvStreammuxConfig::batch_size
gint batch_size
Definition: sources/includes/gst-nvdscommonconfig.h:162
_GstDsNvUriSrcConfig::enable_error_propagation
gboolean enable_error_propagation
Definition: sources/includes/gst-nvdscommonconfig.h:144
_GstDsNvUriSrcConfig::smart_record
NvDsUriSrcBinSRType smart_record
Definition: sources/includes/gst-nvdscommonconfig.h:109
GstDsNvStreammuxConfig::extract_sei_type5_data
gboolean extract_sei_type5_data
Definition: sources/includes/gst-nvdscommonconfig.h:184
_GstDsNvUriSrcConfig::udp_buffer_size
guint udp_buffer_size
Definition: sources/includes/gst-nvdscommonconfig.h:133
GstDsNvStreammuxConfig::no_pipeline_eos
gboolean no_pipeline_eos
Definition: sources/includes/gst-nvdscommonconfig.h:183
NvDsUriSrcBinType
NvDsUriSrcBinType
Definition: sources/includes/gst-nvdscommonconfig.h:27
DEC_SKIP_FRAMES_TYPE_NONE
@ DEC_SKIP_FRAMES_TYPE_NONE
Definition: sources/includes/gst-nvdscommonconfig.h:36
RTP_PROTOCOL_UDP_UDPMCAST_TCP
@ RTP_PROTOCOL_UDP_UDPMCAST_TCP
Definition: sources/includes/gst-nvdscommonconfig.h:47
_GstDsNvUriSrcConfig::simulate_fps_interval_ms
guint simulate_fps_interval_ms
Definition: sources/includes/gst-nvdscommonconfig.h:148
GstDsNvStreammuxConfig::batched_push_timeout
gint batched_push_timeout
Definition: sources/includes/gst-nvdscommonconfig.h:159
BUFFER_MODE_BUFFER
@ BUFFER_MODE_BUFFER
Definition: sources/includes/gst-nvdscommonconfig.h:63
RTP_PROTOCOL_TLS
@ RTP_PROTOCOL_TLS
Definition: sources/includes/gst-nvdscommonconfig.h:49
_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:149
_GstDsNvUriSrcConfig::leaky
NvDsUriSrcBinLeaky leaky
Definition: sources/includes/gst-nvdscommonconfig.h:128
NvDsUriSrcBinSRType
NvDsUriSrcBinSRType
Definition: sources/includes/gst-nvdscommonconfig.h:68
DEC_SKIP_FRAMES_TYPE_KEY_FRAME_ONLY
@ DEC_SKIP_FRAMES_TYPE_KEY_FRAME_ONLY
Definition: sources/includes/gst-nvdscommonconfig.h:38
_GstDsNvUriSrcConfig::uri
gchar * uri
Definition: sources/includes/gst-nvdscommonconfig.h:106
BUFFER_MODE_UNKNOWN
@ BUFFER_MODE_UNKNOWN
Definition: sources/includes/gst-nvdscommonconfig.h:61
LEAKY_DOWNSTREAM
@ LEAKY_DOWNSTREAM
Definition: sources/includes/gst-nvdscommonconfig.h:56
RTP_PROTOCOL_UDP
@ RTP_PROTOCOL_UDP
Definition: sources/includes/gst-nvdscommonconfig.h:44
_GstDsNvUriSrcConfig::ipc_connection_interval
guint64 ipc_connection_interval
Definition: sources/includes/gst-nvdscommonconfig.h:142
NvDsUriSrcBinSRMode
NvDsUriSrcBinSRMode
Definition: sources/includes/gst-nvdscommonconfig.h:75
_GstDsNvUriSrcConfig::drop_on_latency
gboolean drop_on_latency
Definition: sources/includes/gst-nvdscommonconfig.h:138
GstDsNvStreammuxConfig::pipeline_width
gint pipeline_width
Definition: sources/includes/gst-nvdscommonconfig.h:157
GstDsNvStreammuxConfig::gpu_id
guint gpu_id
Definition: sources/includes/gst-nvdscommonconfig.h:169
BUFFER_MODE_AUTO
@ BUFFER_MODE_AUTO
Definition: sources/includes/gst-nvdscommonconfig.h:64
_GstDsNvUriSrcConfig::buffer_mode
NvDsUriSrcBinBufferMode buffer_mode
Definition: sources/includes/gst-nvdscommonconfig.h:119
GstDsNvStreammuxConfig::extract_sei_sim_time
gboolean extract_sei_sim_time
Definition: sources/includes/gst-nvdscommonconfig.h:188
_GstDsNvUriSrcConfig::disable_passthrough
gboolean disable_passthrough
Definition: sources/includes/gst-nvdscommonconfig.h:135
_GstDsNvUriSrcConfig::ipc_socket_path
gchar * ipc_socket_path
Definition: sources/includes/gst-nvdscommonconfig.h:140
GstDsNvStreammuxConfig::frame_duration
guint64 frame_duration
Definition: sources/includes/gst-nvdscommonconfig.h:180
GstDsNvStreammuxConfig::maxBatchSize
guint maxBatchSize
Definition: sources/includes/gst-nvdscommonconfig.h:181
GstDsNvStreammuxConfig::frame_num_reset_on_eos
gboolean frame_num_reset_on_eos
Definition: sources/includes/gst-nvdscommonconfig.h:177
GstDsNvStreammuxConfig::async_process
gboolean async_process
Definition: sources/includes/gst-nvdscommonconfig.h:182
GstDsNvStreammuxConfig::buffer_cache
gboolean buffer_cache
Definition: sources/includes/gst-nvdscommonconfig.h:186
SOURCE_TYPE_RTSP
@ SOURCE_TYPE_RTSP
Definition: sources/includes/gst-nvdscommonconfig.h:31
_GstDsNvUriSrcConfig::sensorId
gchar * sensorId
unique Sensor ID string
Definition: sources/includes/gst-nvdscommonconfig.h:134
GstDsNvStreammuxConfig::buffer_pool_size
gint buffer_pool_size
Definition: sources/includes/gst-nvdscommonconfig.h:165
_GstDsNvUriSrcConfig::max_size_buffers
guint max_size_buffers
Definition: sources/includes/gst-nvdscommonconfig.h:129
NvDsSensorInfo
struct _NvDsSensorInfo NvDsSensorInfo
_NvDsRtspAttemptsInfo
Definition: sources/includes/gst-nvdscommonconfig.h:96
_GstDsNvUriSrcConfig::smart_rec_file_prefix
gchar * smart_rec_file_prefix
Definition: sources/includes/gst-nvdscommonconfig.h:111
_NvDsSensorInfo::sensor_name
gchar const * sensor_name
Definition: sources/includes/gst-nvdscommonconfig.h:93
SOURCE_TYPE_URI
@ SOURCE_TYPE_URI
Definition: sources/includes/gst-nvdscommonconfig.h:30
GstDsNvStreammuxConfig::num_surfaces_per_frame
gint num_surfaces_per_frame
Definition: sources/includes/gst-nvdscommonconfig.h:167
_GstDsNvUriSrcConfig::rtsp_reconnect_interval_sec_org
gint rtsp_reconnect_interval_sec_org
Definition: sources/includes/gst-nvdscommonconfig.h:126
_NvDsSensorInfo::sensor_id
gchar const * sensor_id
Definition: sources/includes/gst-nvdscommonconfig.h:92
NvDsUriSrcBinSRCont
NvDsUriSrcBinSRCont
Definition: sources/includes/gst-nvdscommonconfig.h:82
_GstDsNvUriSrcConfig::topic
gchar * topic
Definition: sources/includes/gst-nvdscommonconfig.h:147
_GstDsNvUriSrcConfig::drop_frame_interval
guint drop_frame_interval
Definition: sources/includes/gst-nvdscommonconfig.h:123
_GstDsNvUriSrcConfig::sensorName
gchar * sensorName
Sensor Name string; could be NULL.
Definition: sources/includes/gst-nvdscommonconfig.h:136
SMART_REC_CLOUD
@ SMART_REC_CLOUD
Definition: sources/includes/gst-nvdscommonconfig.h:71
_GstDsNvUriSrcConfig::gpu_id
guint gpu_id
Definition: sources/includes/gst-nvdscommonconfig.h:116
SMART_REC_MULTI
@ SMART_REC_MULTI
Definition: sources/includes/gst-nvdscommonconfig.h:72
SMART_REC_AUDIO_VIDEO
@ SMART_REC_AUDIO_VIDEO
Definition: sources/includes/gst-nvdscommonconfig.h:77
SMART_REC_DISABLE
@ SMART_REC_DISABLE
Definition: sources/includes/gst-nvdscommonconfig.h:70
_GstDsNvUriSrcConfig::smart_rec_def_duration
guint smart_rec_def_duration
Definition: sources/includes/gst-nvdscommonconfig.h:114
_GstDsNvUriSrcConfig::smart_rec_cache_size
guint smart_rec_cache_size
Definition: sources/includes/gst-nvdscommonconfig.h:115
_GstDsNvUriSrcConfig::low_latency_mode
gboolean low_latency_mode
Definition: sources/includes/gst-nvdscommonconfig.h:124
GstDsNvStreammuxConfig::enable_padding
gboolean enable_padding
Definition: sources/includes/gst-nvdscommonconfig.h:172
GstDsNvStreammuxConfig::pipeline_height
gint pipeline_height
Definition: sources/includes/gst-nvdscommonconfig.h:158
GstDsNvStreammuxConfig::sort_batch
gboolean sort_batch
Definition: sources/includes/gst-nvdscommonconfig.h:185
_GstDsNvUriSrcConfig::num_rtsp_reconnects
gint num_rtsp_reconnects
Definition: sources/includes/gst-nvdscommonconfig.h:132
NvDsUriSrcBinBufferMode
NvDsUriSrcBinBufferMode
Definition: sources/includes/gst-nvdscommonconfig.h:59
_GstDsNvUriSrcConfig::smart_rec_dir_path
gchar * smart_rec_dir_path
Definition: sources/includes/gst-nvdscommonconfig.h:110
GstDsNvUriSrcConfig
struct _GstDsNvUriSrcConfig GstDsNvUriSrcConfig
BUFFER_MODE_SLAVE
@ BUFFER_MODE_SLAVE
Definition: sources/includes/gst-nvdscommonconfig.h:62
GstDsNvStreammuxConfig::buffer_cache_timeout
gint buffer_cache_timeout
Definition: sources/includes/gst-nvdscommonconfig.h:187
_NvDsSensorInfo
Definition: sources/includes/gst-nvdscommonconfig.h:88
_GstDsNvUriSrcConfig::cuda_memory_type
guint cuda_memory_type
Definition: sources/includes/gst-nvdscommonconfig.h:122
GstDsNvStreammuxConfig::attach_sys_ts_as_ntp
gboolean attach_sys_ts_as_ntp
Definition: sources/includes/gst-nvdscommonconfig.h:173
GstDsNvStreammuxConfig::compute_hw
gint compute_hw
Definition: sources/includes/gst-nvdscommonconfig.h:166
GstDsNvStreammuxConfig::interpolation_method
gint interpolation_method
Definition: sources/includes/gst-nvdscommonconfig.h:168
_GstDsNvUriSrcConfig::smart_rec_mode
NvDsUriSrcBinSRMode smart_rec_mode
Definition: sources/includes/gst-nvdscommonconfig.h:113
RTP_PROTOCOL_UNKNOWN
@ RTP_PROTOCOL_UNKNOWN
Definition: sources/includes/gst-nvdscommonconfig.h:43
GstDsNvStreammuxConfig::config_file_path
gchar * config_file_path
Definition: sources/includes/gst-nvdscommonconfig.h:174
_GstDsNvUriSrcConfig::latency
gint latency
Definition: sources/includes/gst-nvdscommonconfig.h:108
_GstDsNvUriSrcConfig::loop
gboolean loop
Definition: sources/includes/gst-nvdscommonconfig.h:105
_GstDsNvUriSrcConfig::rtp_protocol
NvDsUriSrcBinRtpProtocol rtp_protocol
Definition: sources/includes/gst-nvdscommonconfig.h:118
GstDsNvStreammuxConfig::sync_inputs
gboolean sync_inputs
Definition: sources/includes/gst-nvdscommonconfig.h:175
_GstDsNvUriSrcConfig::num_extra_surfaces
guint num_extra_surfaces
Definition: sources/includes/gst-nvdscommonconfig.h:120
NvDsRtspAttemptsInfo
struct _NvDsRtspAttemptsInfo NvDsRtspAttemptsInfo
_GstDsNvUriSrcConfig::sei_uuid
gchar * sei_uuid
Definition: sources/includes/gst-nvdscommonconfig.h:107
_GstDsNvUriSrcConfig::source_id
gint source_id
Definition: sources/includes/gst-nvdscommonconfig.h:117
GstDsNvStreammuxConfig
Definition: sources/includes/gst-nvdscommonconfig.h:152
GstDsNvStreammuxConfig::frame_num_reset_on_stream_reset
gboolean frame_num_reset_on_stream_reset
Definition: sources/includes/gst-nvdscommonconfig.h:178
GstDsNvStreammuxConfig::max_latency
guint64 max_latency
Definition: sources/includes/gst-nvdscommonconfig.h:176
SMART_REC_MKV
@ SMART_REC_MKV
Definition: sources/includes/gst-nvdscommonconfig.h:85
RTP_PROTOCOL_HTTP
@ RTP_PROTOCOL_HTTP
Definition: sources/includes/gst-nvdscommonconfig.h:48
_GstDsNvUriSrcConfig::skip_frames_type
NvDsUriSrcBinDecSkipFrame skip_frames_type
Definition: sources/includes/gst-nvdscommonconfig.h:121
DEC_SKIP_FRAMES_TYPE_NONREF
@ DEC_SKIP_FRAMES_TYPE_NONREF
Definition: sources/includes/gst-nvdscommonconfig.h:37
_GstDsNvUriSrcConfig::rtsp_reconnect_interval_sec
gint rtsp_reconnect_interval_sec
Definition: sources/includes/gst-nvdscommonconfig.h:127
NvDsUriSrcBinLeaky
NvDsUriSrcBinLeaky
Definition: sources/includes/gst-nvdscommonconfig.h:52
_GstDsNvUriSrcConfig::ipc_connection_attempts
gint ipc_connection_attempts
Definition: sources/includes/gst-nvdscommonconfig.h:141
SOURCE_TYPE_AUTO
@ SOURCE_TYPE_AUTO
Definition: sources/includes/gst-nvdscommonconfig.h:29
SMART_REC_MP4
@ SMART_REC_MP4
Definition: sources/includes/gst-nvdscommonconfig.h:84
GstDsNvStreammuxConfig::sync_inputs_ntp
guint sync_inputs_ntp
Definition: sources/includes/gst-nvdscommonconfig.h:190
_GstDsNvUriSrcConfig::sensorIdToPadIdMapping
gboolean sensorIdToPadIdMapping
Definition: sources/includes/gst-nvdscommonconfig.h:143
_GstDsNvUriSrcConfig::conn_str
gchar * conn_str
Definition: sources/includes/gst-nvdscommonconfig.h:146
_NvDsSensorInfo::uri
gchar const * uri
Definition: sources/includes/gst-nvdscommonconfig.h:91
_GstDsNvUriSrcConfig::ipc_buffer_timestamp_copy
gboolean ipc_buffer_timestamp_copy
Definition: sources/includes/gst-nvdscommonconfig.h:139
_GstDsNvUriSrcConfig::rtsp_reconnect_attempts
gint rtsp_reconnect_attempts
Definition: sources/includes/gst-nvdscommonconfig.h:131
RTP_PROTOCOL_UDP_MCAST
@ RTP_PROTOCOL_UDP_MCAST
Definition: sources/includes/gst-nvdscommonconfig.h:45
_NvDsRtspAttemptsInfo::attempt_exceeded
gboolean attempt_exceeded
Definition: sources/includes/gst-nvdscommonconfig.h:98
_GstDsNvUriSrcConfig::init_rtsp_reconnect_interval_sec
gint init_rtsp_reconnect_interval_sec
Definition: sources/includes/gst-nvdscommonconfig.h:130