NVIDIA DeepStream SDK API Reference
9.1 Release
sources/apps/apps-common/includes/deepstream_sinks.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: Copyright (c) 2018-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 __NVGSTDS_SINKS_H__
19
#define __NVGSTDS_SINKS_H__
20
21
#ifdef __aarch64__
22
#define IS_TEGRA
23
#endif
24
25
#include <gst/gst.h>
26
27
#ifdef __cplusplus
28
extern
"C"
29
{
30
#endif
31
32
typedef
enum
33
{
34
NV_DS_SINK_FAKE
= 1,
35
#ifndef IS_TEGRA
36
NV_DS_SINK_RENDER_EGL
,
37
#else
38
NV_DS_SINK_RENDER_3D,
39
#endif
40
NV_DS_SINK_ENCODE_FILE
,
41
NV_DS_SINK_UDPSINK
,
42
NV_DS_SINK_RENDER_DRM
,
43
NV_DS_SINK_MSG_CONV_BROKER
,
44
}
NvDsSinkType
;
45
46
typedef
enum
47
{
48
NV_DS_CONTAINER_MP4
= 1,
49
NV_DS_CONTAINER_MKV
50
}
NvDsContainerType
;
51
52
typedef
enum
53
{
54
NV_DS_ENCODER_H264
= 1,
55
NV_DS_ENCODER_H265
,
56
NV_DS_ENCODER_MPEG4
57
}
NvDsEncoderType
;
58
59
typedef
enum
60
{
61
NV_DS_ENCODER_TYPE_HW
,
62
NV_DS_ENCODER_TYPE_SW
63
}
NvDsEncHwSwType
;
64
65
typedef
enum
66
{
67
NV_DS_ENCODER_OUTPUT_IO_MODE_MMAP
= 2,
68
NV_DS_ENCODER_OUTPUT_IO_MODE_DMABUF_IMPORT
= 5,
69
}
NvDsEncOutputIOMode
;
70
71
typedef
struct
72
{
73
NvDsSinkType
type
;
74
NvDsContainerType
container
;
75
NvDsEncoderType
codec
;
76
NvDsEncHwSwType
enc_type
;
77
guint
compute_hw
;
78
gint
bitrate
;
79
guint
profile
;
80
gint
sync
;
81
gchar *
output_file_path
;
82
guint
gpu_id
;
83
guint
rtsp_port
;
84
guint
udp_port
;
85
guint64
udp_buffer_size
;
86
guint
iframeinterval
;
87
guint
copy_meta
;
88
NvDsEncOutputIOMode
output_io_mode
;
89
gint
sw_preset
;
90
}
NvDsSinkEncoderConfig
;
91
92
typedef
struct
93
{
94
NvDsSinkType
type
;
95
gint
width
;
96
gint
height
;
97
gint
sync
;
98
gboolean
qos
;
99
gboolean
qos_value_specified
;
100
guint
gpu_id
;
101
guint
nvbuf_memory_type
;
102
guint
offset_x
;
103
guint
offset_y
;
104
guint
color_range
;
105
guint
conn_id
;
106
guint
plane_id
;
107
gboolean
set_mode
;
108
}
NvDsSinkRenderConfig
;
109
110
typedef
struct
111
{
112
gboolean
enable
;
114
gchar*
config_file_path
;
115
guint
conv_payload_type
;
116
gchar*
conv_msg2p_lib
;
117
guint
conv_comp_id
;
118
gchar*
debug_payload_dir
;
119
gboolean
multiple_payloads
;
120
gboolean
conv_msg2p_new_api
;
121
guint
conv_frame_interval
;
122
gboolean
conv_dummy_payload
;
123
gchar *
embedding_filter
;
125
gchar*
proto_lib
;
126
gchar*
conn_str
;
127
gchar*
topic
;
128
gchar*
broker_config_file_path
;
129
guint
broker_comp_id
;
130
gboolean
disable_msgconv
;
131
gint
sync
;
132
gboolean
new_api
;
133
guint
broker_sleep_time
;
134
}
NvDsSinkMsgConvBrokerConfig
;
135
136
typedef
struct
137
{
138
gboolean
enable
;
139
guint
source_id
;
140
gboolean
link_to_demux
;
141
gboolean
nvdslogger
;
142
gboolean
show_fps
;
143
gboolean
show_latency
;
144
NvDsSinkType
type
;
145
gint
sync
;
146
NvDsSinkEncoderConfig
encoder_config
;
147
NvDsSinkRenderConfig
render_config
;
148
NvDsSinkMsgConvBrokerConfig
msg_conv_broker_config
;
149
}
NvDsSinkSubBinConfig
;
150
151
typedef
struct
152
{
153
GstElement *
bin
;
154
GstElement *
queue
;
155
GstElement *
transform
;
156
GstElement *
cap_filter
;
157
GstElement *
enc_caps_filter
;
158
GstElement *
encoder
;
159
GstElement *
codecparse
;
160
GstElement *
mux
;
161
GstElement *
sink
;
162
GstElement *
rtppay
;
163
gulong
sink_buffer_probe
;
164
}
NvDsSinkBinSubBin
;
165
166
typedef
struct
167
{
168
GstElement *
bin
;
169
GstElement *
queue
;
170
GstElement *
tee
;
171
GstElement *
nvdslogger
;
172
GstElement *
nvdslogger_queue
;
173
174
gint
num_bins
;
175
NvDsSinkBinSubBin
sub_bins[
MAX_SINK_BINS
];
176
}
NvDsSinkBin
;
177
192
gboolean
create_sink_bin
(guint num_sub_bins,
193
NvDsSinkSubBinConfig
*config_array,
NvDsSinkBin
*bin, guint index);
194
195
void
destroy_sink_bin
(
void
);
196
gboolean
create_demux_sink_bin
(guint num_sub_bins,
197
NvDsSinkSubBinConfig
*config_array,
NvDsSinkBin
*bin, guint index);
198
199
void
set_rtsp_udp_port_num
(guint rtsp_port_num, guint udp_port_num);
200
201
#ifdef __cplusplus
202
}
203
#endif
204
205
#endif
NvDsSinkEncoderConfig
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:71
NvDsSinkMsgConvBrokerConfig::disable_msgconv
gboolean disable_msgconv
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:130
NvDsSinkMsgConvBrokerConfig::topic
gchar * topic
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:127
NvDsSinkMsgConvBrokerConfig::sync
gint sync
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:131
NvDsSinkMsgConvBrokerConfig::multiple_payloads
gboolean multiple_payloads
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:119
create_demux_sink_bin
gboolean create_demux_sink_bin(guint num_sub_bins, NvDsSinkSubBinConfig *config_array, NvDsSinkBin *bin, guint index)
NvDsSinkEncoderConfig::output_io_mode
NvDsEncOutputIOMode output_io_mode
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:88
NvDsSinkEncoderConfig::enc_type
NvDsEncHwSwType enc_type
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:76
NvDsSinkMsgConvBrokerConfig::conv_msg2p_lib
gchar * conv_msg2p_lib
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:116
NvDsSinkBinSubBin::sink_buffer_probe
gulong sink_buffer_probe
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:163
NvDsSinkRenderConfig::qos_value_specified
gboolean qos_value_specified
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:99
NvDsSinkMsgConvBrokerConfig::conn_str
gchar * conn_str
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:126
NV_DS_CONTAINER_MP4
@ NV_DS_CONTAINER_MP4
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:48
NvDsSinkRenderConfig::type
NvDsSinkType type
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:94
NV_DS_ENCODER_OUTPUT_IO_MODE_DMABUF_IMPORT
@ NV_DS_ENCODER_OUTPUT_IO_MODE_DMABUF_IMPORT
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:68
NvDsSinkBin::nvdslogger_queue
GstElement * nvdslogger_queue
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:172
NvDsEncHwSwType
NvDsEncHwSwType
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:59
NvDsSinkSubBinConfig::render_config
NvDsSinkRenderConfig render_config
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:147
NvDsSinkRenderConfig::width
gint width
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:95
NvDsSinkBinSubBin::transform
GstElement * transform
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:155
NvDsSinkRenderConfig::gpu_id
guint gpu_id
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:100
NvDsSinkSubBinConfig
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:136
NvDsSinkBin::bin
GstElement * bin
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:168
NvDsSinkEncoderConfig::copy_meta
guint copy_meta
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:87
NvDsSinkSubBinConfig::msg_conv_broker_config
NvDsSinkMsgConvBrokerConfig msg_conv_broker_config
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:148
NV_DS_CONTAINER_MKV
@ NV_DS_CONTAINER_MKV
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:49
NvDsSinkRenderConfig::set_mode
gboolean set_mode
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:107
NV_DS_ENCODER_MPEG4
@ NV_DS_ENCODER_MPEG4
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:56
NvDsSinkBin::num_bins
gint num_bins
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:174
NvDsSinkMsgConvBrokerConfig::debug_payload_dir
gchar * debug_payload_dir
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:118
NvDsSinkBinSubBin::codecparse
GstElement * codecparse
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:159
NvDsSinkRenderConfig::conn_id
guint conn_id
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:105
NvDsSinkMsgConvBrokerConfig::embedding_filter
gchar * embedding_filter
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:123
NV_DS_SINK_RENDER_DRM
@ NV_DS_SINK_RENDER_DRM
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:42
NvDsSinkMsgConvBrokerConfig::config_file_path
gchar * config_file_path
MsgConv settings.
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:114
NvDsSinkRenderConfig::offset_y
guint offset_y
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:103
NvDsSinkSubBinConfig::link_to_demux
gboolean link_to_demux
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:140
NvDsSinkBinSubBin::encoder
GstElement * encoder
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:158
NvDsSinkMsgConvBrokerConfig::new_api
gboolean new_api
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:132
NV_DS_SINK_MSG_CONV_BROKER
@ NV_DS_SINK_MSG_CONV_BROKER
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:43
NvDsSinkMsgConvBrokerConfig
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:110
NV_DS_ENCODER_TYPE_SW
@ NV_DS_ENCODER_TYPE_SW
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:62
NvDsSinkRenderConfig
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:92
NvDsSinkMsgConvBrokerConfig::conv_frame_interval
guint conv_frame_interval
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:121
NvDsSinkMsgConvBrokerConfig::proto_lib
gchar * proto_lib
Broker settings.
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:125
NvDsSinkEncoderConfig::iframeinterval
guint iframeinterval
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:86
NvDsSinkSubBinConfig::type
NvDsSinkType type
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:144
NvDsSinkEncoderConfig::sync
gint sync
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:80
NvDsSinkBinSubBin::cap_filter
GstElement * cap_filter
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:156
NvDsSinkEncoderConfig::bitrate
gint bitrate
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:78
NvDsSinkMsgConvBrokerConfig::broker_sleep_time
guint broker_sleep_time
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:133
NvDsSinkRenderConfig::plane_id
guint plane_id
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:106
NvDsSinkSubBinConfig::show_latency
gboolean show_latency
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:143
MAX_SINK_BINS
#define MAX_SINK_BINS
Definition:
sources/apps/apps-common/includes/deepstream_config.h:92
NvDsSinkBinSubBin
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:151
NvDsSinkRenderConfig::color_range
guint color_range
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:104
NV_DS_SINK_FAKE
@ NV_DS_SINK_FAKE
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:34
NV_DS_SINK_ENCODE_FILE
@ NV_DS_SINK_ENCODE_FILE
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:40
destroy_sink_bin
void destroy_sink_bin(void)
NV_DS_SINK_UDPSINK
@ NV_DS_SINK_UDPSINK
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:41
NvDsSinkBinSubBin::mux
GstElement * mux
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:160
NV_DS_ENCODER_H265
@ NV_DS_ENCODER_H265
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:55
NvDsSinkMsgConvBrokerConfig::broker_comp_id
guint broker_comp_id
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:129
NvDsSinkEncoderConfig::udp_buffer_size
guint64 udp_buffer_size
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:85
NvDsContainerType
NvDsContainerType
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:46
NvDsSinkEncoderConfig::sw_preset
gint sw_preset
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:89
NvDsSinkMsgConvBrokerConfig::broker_config_file_path
gchar * broker_config_file_path
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:128
NvDsSinkRenderConfig::nvbuf_memory_type
guint nvbuf_memory_type
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:101
NvDsSinkSubBinConfig::show_fps
gboolean show_fps
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:142
NvDsSinkRenderConfig::height
gint height
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:96
NvDsSinkRenderConfig::qos
gboolean qos
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:98
NV_DS_ENCODER_OUTPUT_IO_MODE_MMAP
@ NV_DS_ENCODER_OUTPUT_IO_MODE_MMAP
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:67
NvDsSinkBinSubBin::bin
GstElement * bin
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:153
NvDsEncOutputIOMode
NvDsEncOutputIOMode
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:65
NvDsSinkSubBinConfig::enable
gboolean enable
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:138
NvDsSinkEncoderConfig::profile
guint profile
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:79
NvDsSinkBinSubBin::queue
GstElement * queue
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:154
NvDsSinkBinSubBin::rtppay
GstElement * rtppay
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:162
NvDsSinkBin::tee
GstElement * tee
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:170
NvDsSinkMsgConvBrokerConfig::conv_msg2p_new_api
gboolean conv_msg2p_new_api
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:120
NvDsSinkBinSubBin::enc_caps_filter
GstElement * enc_caps_filter
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:157
set_rtsp_udp_port_num
void set_rtsp_udp_port_num(guint rtsp_port_num, guint udp_port_num)
NvDsSinkRenderConfig::sync
gint sync
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:97
NvDsSinkEncoderConfig::codec
NvDsEncoderType codec
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:75
NvDsSinkType
NvDsSinkType
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:32
NvDsSinkSubBinConfig::encoder_config
NvDsSinkEncoderConfig encoder_config
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:146
NV_DS_SINK_RENDER_EGL
@ NV_DS_SINK_RENDER_EGL
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:36
NvDsSinkEncoderConfig::container
NvDsContainerType container
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:74
NvDsSinkBin::queue
GstElement * queue
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:169
NvDsSinkMsgConvBrokerConfig::enable
gboolean enable
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:112
NvDsSinkBin::nvdslogger
GstElement * nvdslogger
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:171
NvDsSinkEncoderConfig::compute_hw
guint compute_hw
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:77
NvDsSinkMsgConvBrokerConfig::conv_payload_type
guint conv_payload_type
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:115
NvDsSinkBinSubBin::sink
GstElement * sink
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:161
NV_DS_ENCODER_TYPE_HW
@ NV_DS_ENCODER_TYPE_HW
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:61
NvDsSinkSubBinConfig::nvdslogger
gboolean nvdslogger
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:141
NvDsSinkBin
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:166
NvDsSinkSubBinConfig::source_id
guint source_id
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:139
NvDsSinkMsgConvBrokerConfig::conv_dummy_payload
gboolean conv_dummy_payload
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:122
NvDsSinkEncoderConfig::rtsp_port
guint rtsp_port
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:83
NvDsSinkEncoderConfig::type
NvDsSinkType type
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:73
NvDsSinkMsgConvBrokerConfig::conv_comp_id
guint conv_comp_id
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:117
NvDsSinkEncoderConfig::output_file_path
gchar * output_file_path
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:81
NvDsSinkSubBinConfig::sync
gint sync
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:145
NvDsSinkEncoderConfig::udp_port
guint udp_port
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:84
NvDsSinkEncoderConfig::gpu_id
guint gpu_id
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:82
create_sink_bin
gboolean create_sink_bin(guint num_sub_bins, NvDsSinkSubBinConfig *config_array, NvDsSinkBin *bin, guint index)
Initialize NvDsSinkBin.
NvDsSinkRenderConfig::offset_x
guint offset_x
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:102
NV_DS_ENCODER_H264
@ NV_DS_ENCODER_H264
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:54
NvDsEncoderType
NvDsEncoderType
Definition:
sources/apps/apps-common/includes/deepstream_sinks.h:52
Privacy Policy
|
Manage My Privacy
|
Do Not Sell or Share My Data
|
Terms of Service
|
Accessibility
|
Corporate Policies
|
Product Security
|
Contact
© 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
NVIDIA Confidential | Subject to Change | For test and development only.
Thu Jul 9 2026 11:48:19 | PR-09318-R32