NVIDIA DeepStream SDK API Reference

9.2 Release
sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-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_DS_NVRTSPOUT_BIN_H__
19 #define __GST_DS_NVRTSPOUT_BIN_H__
20 
21 #include <gst/gst.h>
22 
23 #include "nvbufsurface.h"
24 
25 G_BEGIN_DECLS
26 
27 typedef enum
28 {
33 
34 typedef enum
35 {
39 
40 typedef enum
41 {
47 
48 typedef enum
49 {
53 
54 typedef struct _GstDsNvAudioBin
55 {
56  GstElement *audio_sink;
57  GstElement *audio_rtppay;
58  GstElement *audio_encoder;
59  GstElement *audio_cap_filter;
60  GstElement *audio_transform;
61  GstElement *audio_queue;
62  GstElement *audio_parser;
64  gint rate;
66 
67 typedef struct _GstDsNvVideoBin
68 {
69  GstElement *video_sink;
70  GstElement *video_rtppay;
71  GstElement *video_codecparse;
72  GstElement *video_encoder;
73  GstElement *video_cap_filter;
74  GstElement *video_transform;
75  GstElement *video_queue;
78 
79 /* Standard GStreamer boilerplate */
80 typedef struct _GstDsNvRtspOutBin
81 {
82  GstBin bin;
83 
90  guint bitrate;
91  gchar *file_location;
93  guint rtsp_port;
94 
95  guint sync;
96  guint qos;
97  guint gpu_id;
98  gboolean bypass;
99  guint compute_hw;
102 
105 
106  gboolean has_audio;
107  gboolean has_video;
108 
109  GObject *server;
110 
111  GstPad *bin_vsink_pad;
112  GstPad *bin_asink_pad;
114 
116 {
117  GstBinClass parent_class;
119 
120 
121 /* Standard GStreamer boilerplate */
122 #define GST_TYPE_DS_NVRTSPOUT_BIN (gst_ds_nvrtspout_bin_get_type())
123 #define GST_DS_NVRTSPOUT_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DS_NVRTSPOUT_BIN,GstDsNvRtspOutBin))
124 #define GST_DS_NVRTSPOUT_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DS_NVRTSPOUT_BIN,GstDsNvRtspOutBinClass))
125 #define GST_DS_NVRTSPOUT_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_DS_NVRTSPOUT_BIN, GstDsNvRtspOutBinClass))
126 #define GST_IS_DS_NVRTSPOUT_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DS_NVRTSPOUT_BIN))
127 #define GST_IS_DS_NVRTSPOUT_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DS_NVRTSPOUT_BIN))
128 #define GST_DS_NVRTSPOUT_BIN_CAST(obj) ((GstDsNvRtspOutBin *)(obj))
129 
130 GType gst_ds_nvrtspout_bin_get_type (void);
131 
132 G_END_DECLS
133 #endif /* __GST_DS_NVRTSPOUT_BIN_H__ */
_GstDsNvVideoBin::video_cap_filter
GstElement * video_cap_filter
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:73
_GstDsNvVideoBin::video_rtppay
GstElement * video_rtppay
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:70
_GstDsNvAudioBin::audio_udp_port
gint audio_udp_port
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:63
_GstDsNvRtspOutBin::create_from_config
gchar * create_from_config
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:101
_GstDsNvVideoBin
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:67
_GstDsNvRtspOutBin::gpu_id
guint gpu_id
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:97
_GstDsNvAudioBin::audio_encoder
GstElement * audio_encoder
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:58
_GstDsNvRtspOutBin::enc_type
RTSPEncodeType enc_type
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:86
gst_ds_nvrtspout_bin_get_type
GType gst_ds_nvrtspout_bin_get_type(void)
_GstDsNvAudioBin::audio_rtppay
GstElement * audio_rtppay
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:57
AUDIO_CODEC_OPUS
@ AUDIO_CODEC_OPUS
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:50
_GstDsNvVideoBin::video_codecparse
GstElement * video_codecparse
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:71
_GstDsNvRtspOutBin
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:80
_GstDsNvRtspOutBin::has_video
gboolean has_video
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:107
_GstDsNvVideoBin::video_udp_port
gint video_udp_port
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:76
GstDsNvRtspOutBinClass
struct _GstDsNvRtspOutBinClass GstDsNvRtspOutBinClass
_GstDsNvAudioBin::audio_parser
GstElement * audio_parser
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:62
_GstDsNvVideoBin::video_sink
GstElement * video_sink
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:69
_GstDsNvRtspOutBin::rtsp_port
guint rtsp_port
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:93
RTSP_CODEC_H265
@ RTSP_CODEC_H265
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:30
_GstDsNvRtspOutBin::compute_hw
guint compute_hw
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:99
_GstDsNvRtspOutBin::iframeinterval
guint iframeinterval
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:88
_GstDsNvRtspOutBin::video_bin
GstDsNvVideoBin video_bin
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:103
_GstDsNvAudioBin::audio_transform
GstElement * audio_transform
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:60
RTSP_ENCODER_HW
@ RTSP_ENCODER_HW
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:36
_GstDsNvVideoBin::video_queue
GstElement * video_queue
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:75
RTSPEncodeType
RTSPEncodeType
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:34
RTSP_CODEC_H264
@ RTSP_CODEC_H264
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:29
_GstDsNvRtspOutBinClass::parent_class
GstBinClass parent_class
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:117
_GstDsNvRtspOutBin::bitrate
guint bitrate
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:90
AudioCodecType
AudioCodecType
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:48
_GstDsNvRtspOutBin::rtsp_mount_point
gchar * rtsp_mount_point
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:92
_GstDsNvRtspOutBin::bypass
gboolean bypass
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:98
NvBufSurfaceMemType
NvBufSurfaceMemType
Specifies memory types for NvBufSurface.
Definition: includes/nvbufsurface.h:355
GstDsNvAudioBin
struct _GstDsNvAudioBin GstDsNvAudioBin
_GstDsNvRtspOutBin::mem_type
NvBufSurfaceMemType mem_type
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:100
_GstDsNvRtspOutBin::qos
guint qos
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:96
AUDIO_CODEC_AC3
@ AUDIO_CODEC_AC3
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:51
_GstDsNvAudioBin::rate
gint rate
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:64
_GstDsNvAudioBin::audio_sink
GstElement * audio_sink
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:56
_GstDsNvRtspOutBin::bin_vsink_pad
GstPad * bin_vsink_pad
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:111
_GstDsNvVideoBin::video_encoder
GstElement * video_encoder
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:72
_GstDsNvRtspOutBin::audio_codec
AudioCodecType audio_codec
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:85
_GstDsNvRtspOutBin::idrframeinterval
guint idrframeinterval
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:89
RTSPProfileType
RTSPProfileType
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:40
RTSP_PROFILE_MAIN
@ RTSP_PROFILE_MAIN
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:43
_GstDsNvAudioBin
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:54
RTSP_ENCODER_SW
@ RTSP_ENCODER_SW
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:37
RTSP_CODEC_MPEG4
@ RTSP_CODEC_MPEG4
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:31
_GstDsNvRtspOutBin::codec
RTSPCodecType codec
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:84
_GstDsNvRtspOutBin::server
GObject * server
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:109
_GstDsNvRtspOutBin::audio_bin
GstDsNvAudioBin audio_bin
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:104
RTSP_PROFILE_MAIN10
@ RTSP_PROFILE_MAIN10
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:45
RTSPCodecType
RTSPCodecType
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:27
_GstDsNvRtspOutBin::profile
RTSPProfileType profile
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:87
GstDsNvVideoBin
struct _GstDsNvVideoBin GstDsNvVideoBin
GstDsNvRtspOutBin
struct _GstDsNvRtspOutBin GstDsNvRtspOutBin
_GstDsNvRtspOutBinClass
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:115
_GstDsNvVideoBin::video_transform
GstElement * video_transform
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:74
_GstDsNvAudioBin::audio_cap_filter
GstElement * audio_cap_filter
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:59
RTSP_PROFILE_HIGH
@ RTSP_PROFILE_HIGH
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:44
_GstDsNvRtspOutBin::sync
guint sync
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:95
RTSP_PROFILE_BASELINE
@ RTSP_PROFILE_BASELINE
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:42
_GstDsNvRtspOutBin::bin_asink_pad
GstPad * bin_asink_pad
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:112
_GstDsNvRtspOutBin::file_location
gchar * file_location
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:91
_GstDsNvRtspOutBin::has_audio
gboolean has_audio
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:106
_GstDsNvRtspOutBin::bin
GstBin bin
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:82
_GstDsNvAudioBin::audio_queue
GstElement * audio_queue
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvrtspoutbin.h:61