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