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 {
35 #ifndef IS_TEGRA
37 #else
38  NV_DS_SINK_RENDER_3D,
39 #endif
44 } NvDsSinkType;
45 
46 typedef enum
47 {
51 
52 typedef enum
53 {
58 
59 typedef enum
60 {
64 
65 typedef enum
66 {
70 
71 typedef struct
72 {
77  guint compute_hw;
78  gint bitrate;
79  guint profile;
80  gint sync;
82  guint gpu_id;
83  guint rtsp_port;
84  guint udp_port;
85  guint64 udp_buffer_size;
87  guint copy_meta;
89  gint sw_preset;
91 
92 typedef struct
93 {
95  gint width;
96  gint height;
97  gint sync;
98  gboolean qos;
100  guint gpu_id;
102  guint offset_x;
103  guint offset_y;
104  guint color_range;
105  guint conn_id;
106  guint plane_id;
107  gboolean set_mode;
109 
110 typedef struct
111 {
112  gboolean enable;
125  gchar* proto_lib;
126  gchar* conn_str;
127  gchar* topic;
130  gboolean disable_msgconv;
131  gint sync;
132  gboolean new_api;
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;
145  gint sync;
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;
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;
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