NVIDIA DeepStream SDK API Reference
7.1 Release
gst-nvurisrcbin/gstdsnvurisrcbin.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: Copyright (c) 2020-2024 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 __GST_DS_NVURISRC_BIN_H__
14
#define __GST_DS_NVURISRC_BIN_H__
15
16
#include "
gst-nvdssr.h
"
17
#include <gst/video/video.h>
18
#include "gst-nvdscommonconfig.h"
19
20
G_BEGIN_DECLS
21
22
enum
23
{
24
PROP_0
,
25
PROP_URI
,
26
PROP_NUM_EXTRA_SURF
,
27
PROP_GPU_DEVICE_ID
,
28
PROP_DEC_SKIP_FRAMES
,
29
PROP_SOURCE_TYPE
,
30
PROP_CUDADEC_MEM_TYPE
,
31
PROP_DROP_FRAME_INTERVAL
,
32
PROP_BUFFER_MODE
,
33
PROP_RTP_PROTOCOL
,
34
PROP_SET_RTP_PROTOCOL
,
35
PROP_FILE_LOOP
,
36
PROP_SMART_RECORD
,
37
PROP_SMART_RECORD_DIR_PATH
,
38
PROP_SMART_RECORD_FILE_PREFIX
,
39
PROP_SMART_RECORD_VIDEO_CACHE
,
40
PROP_SMART_RECORD_CACHE
,
41
PROP_SMART_RECORD_CONTAINER
,
42
PROP_SMART_RECORD_MODE
,
43
PROP_SMART_RECORD_DEFAULT_DURATION
,
44
PROP_SMART_RECORD_STATUS
,
45
PROP_RTSP_RECONNECT_INTERVAL
,
46
PROP_RTSP_INIT_RECONNECT_INTERVAL
,
47
PROP_RTSP_RECONNECT_ATTEMPTS
,
48
PROP_LATENCY
,
49
PROP_SOURCE_ID
,
50
PROP_UDP_BUFFER_SIZE
,
51
PROP_DISABLE_PASSTHROUGH
,
52
PROP_DISABLE_AUDIO
,
53
PROP_EXTRACT_SEI_TYPE5_DATA
,
54
PROP_LOW_LATENCY_MODE
,
55
PROP_SEI_UUID
,
56
PROP_DROP_ON_LATENCY
,
57
PROP_IPC_BUFFER_TIMESTAMP_COPY
,
58
PROP_IPC_SOCKET_PATH
,
59
PROP_IPC_CONNECTION_ATTEMPTS
,
60
PROP_IPC_CONNECTION_INTERVAL
,
61
PROP_LAST
62
};
63
64
65
66
typedef
struct
_GstDsNvUriSrcBin
67
{
68
GstBin
bin
;
69
70
GstElement *
src_elem
;
71
GstElement *
cap_filter
;
72
GstElement *
cap_filter1
;
73
GstElement *
depay
;
74
GstElement *
parser
;
75
GstElement *
dec_que
;
76
GstElement *
decodebin
;
77
GstElement *
tee
;
78
GstElement *
tee_rtsp_pre_decode
;
79
GstElement *
tee_rtsp_post_decode
;
80
GstElement *
fakesink_queue
;
81
GstElement *
fakesink
;
82
GstElement *
nvvidconv
;
83
84
GMutex
bin_lock
;
85
struct
timeval
last_buffer_time
;
86
struct
timeval
last_reconnect_time
;
87
gulong
rtspsrc_monitor_probe
;
88
gboolean
reconfiguring
;
89
gboolean
async_state_watch_running
;
90
guint64
accumulated_base
;
91
guint64
prev_accumulated_base
;
92
GstDsNvUriSrcConfig
*
config
;
93
NvDsSRContext
*
recordCtx
;
94
95
guint
source_watch_id
;
96
97
GstElement *
adepay
;
98
GstElement *
aqueue
;
99
GstElement *
aparsebin
;
100
GstElement *
atee
;
101
GstElement *
adecodebin
;
102
GstElement *
audio_convert
;
103
GstElement *
audio_resample
;
104
105
gboolean
video_elem_populated
;
106
gboolean
audio_elem_populated
;
107
}
GstDsNvUriSrcBin
;
108
109
typedef
struct
_GstDsNvUriSrcBinClass
110
{
111
GstBinClass
parent_class
;
112
113
NvDsSRStatus
(*
start_sr
) (
GstDsNvUriSrcBin
*,
NvDsSRSessionId
* sessionId,
114
guint startTime, guint duration, gpointer userData);
115
NvDsSRStatus
(*
stop_sr
) (
GstDsNvUriSrcBin
*,
NvDsSRSessionId
sessionId);
116
NvDsSRStatus
(*
sr_done
) (
GstDsNvUriSrcBin
*,
NvDsSRRecordingInfo
* info,
117
gpointer userData);
118
119
}
GstDsNvUriSrcBinClass
;
120
121
122
/* Standard GStreamer boilerplate */
123
#define GST_TYPE_DS_NVURISRC_BIN (gst_ds_nvurisrc_bin_get_type())
124
#define GST_DS_NVURISRC_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DS_NVURISRC_BIN,GstDsNvUriSrcBin))
125
#define GST_DS_NVURISRC_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DS_NVURISRC_BIN,GstDsNvUriSrcBinClass))
126
#define GST_DS_NVURISRC_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_DS_NVURISRC_BIN, GstDsNvUriSrcBinClass))
127
#define GST_IS_DS_NVURISRC_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DS_NVURISRC_BIN))
128
#define GST_IS_DS_NVURISRC_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DS_NVURISRC_BIN))
129
#define GST_DS_NVURISRC_BIN_CAST(obj) ((GstDsNvUriSrcBin *)(obj))
130
131
GType
gst_ds_nvurisrc_bin_get_type
(
void
);
132
133
G_END_DECLS
134
#endif
/* __GST_DS_NVURISRC_BIN_H__ */
PROP_SOURCE_TYPE
@ PROP_SOURCE_TYPE
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:29
_GstDsNvUriSrcBin::tee_rtsp_pre_decode
GstElement * tee_rtsp_pre_decode
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:78
PROP_DISABLE_AUDIO
@ PROP_DISABLE_AUDIO
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:52
NvDsSRSessionId
guint32 NvDsSRSessionId
Definition:
gst-nvdssr.h:49
PROP_DROP_FRAME_INTERVAL
@ PROP_DROP_FRAME_INTERVAL
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:31
PROP_SEI_UUID
@ PROP_SEI_UUID
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:55
PROP_SOURCE_ID
@ PROP_SOURCE_ID
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:49
_GstDsNvUriSrcBin::nvvidconv
GstElement * nvvidconv
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:82
_GstDsNvUriSrcConfig
Definition:
includes/gst-nvdscommonconfig.h:76
PROP_EXTRACT_SEI_TYPE5_DATA
@ PROP_EXTRACT_SEI_TYPE5_DATA
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:53
PROP_SMART_RECORD
@ PROP_SMART_RECORD
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:36
_GstDsNvUriSrcBin::cap_filter
GstElement * cap_filter
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:71
PROP_IPC_CONNECTION_ATTEMPTS
@ PROP_IPC_CONNECTION_ATTEMPTS
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:59
PROP_URI
@ PROP_URI
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:25
_GstDsNvUriSrcBin::aparsebin
GstElement * aparsebin
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:99
_GstDsNvUriSrcBin::dec_que
GstElement * dec_que
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:75
_GstDsNvUriSrcBin::src_elem
GstElement * src_elem
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:70
_GstDsNvUriSrcBin::tee_rtsp_post_decode
GstElement * tee_rtsp_post_decode
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:79
NvDsSRStatus
NvDsSRStatus
Specifies API return status.
Definition:
gst-nvdssr.h:62
_GstDsNvUriSrcBin::fakesink
GstElement * fakesink
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:81
PROP_SMART_RECORD_CACHE
@ PROP_SMART_RECORD_CACHE
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:40
PROP_SMART_RECORD_DIR_PATH
@ PROP_SMART_RECORD_DIR_PATH
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:37
gst_ds_nvurisrc_bin_get_type
GType gst_ds_nvurisrc_bin_get_type(void)
PROP_GPU_DEVICE_ID
@ PROP_GPU_DEVICE_ID
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:27
_GstDsNvUriSrcBin::video_elem_populated
gboolean video_elem_populated
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:105
PROP_FILE_LOOP
@ PROP_FILE_LOOP
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:35
PROP_LAST
@ PROP_LAST
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:61
PROP_DEC_SKIP_FRAMES
@ PROP_DEC_SKIP_FRAMES
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:28
PROP_SMART_RECORD_MODE
@ PROP_SMART_RECORD_MODE
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:42
PROP_SMART_RECORD_DEFAULT_DURATION
@ PROP_SMART_RECORD_DEFAULT_DURATION
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:43
_GstDsNvUriSrcBin::accumulated_base
guint64 accumulated_base
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:90
_GstDsNvUriSrcBinClass
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:109
_GstDsNvUriSrcBin::bin
GstBin bin
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:68
PROP_UDP_BUFFER_SIZE
@ PROP_UDP_BUFFER_SIZE
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:50
PROP_RTP_PROTOCOL
@ PROP_RTP_PROTOCOL
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:33
PROP_SMART_RECORD_CONTAINER
@ PROP_SMART_RECORD_CONTAINER
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:41
_GstDsNvUriSrcBin::adepay
GstElement * adepay
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:97
_GstDsNvUriSrcBinClass::stop_sr
NvDsSRStatus(* stop_sr)(GstDsNvUriSrcBin *, NvDsSRSessionId sessionId)
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:115
_GstDsNvUriSrcBin::last_buffer_time
struct timeval last_buffer_time
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:85
_GstDsNvUriSrcBin::decodebin
GstElement * decodebin
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:76
PROP_SMART_RECORD_FILE_PREFIX
@ PROP_SMART_RECORD_FILE_PREFIX
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:38
_GstDsNvUriSrcBin::async_state_watch_running
gboolean async_state_watch_running
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:89
_GstDsNvUriSrcBin::rtspsrc_monitor_probe
gulong rtspsrc_monitor_probe
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:87
NvDsSRContext
Holds information about smart record instance.
Definition:
gst-nvdssr.h:103
PROP_DROP_ON_LATENCY
@ PROP_DROP_ON_LATENCY
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:56
PROP_SMART_RECORD_VIDEO_CACHE
@ PROP_SMART_RECORD_VIDEO_CACHE
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:39
_GstDsNvUriSrcBin::recordCtx
NvDsSRContext * recordCtx
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:93
PROP_IPC_CONNECTION_INTERVAL
@ PROP_IPC_CONNECTION_INTERVAL
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:60
_GstDsNvUriSrcBinClass::parent_class
GstBinClass parent_class
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:111
_GstDsNvUriSrcBin
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:66
GstDsNvUriSrcBin
struct _GstDsNvUriSrcBin GstDsNvUriSrcBin
_GstDsNvUriSrcBin::aqueue
GstElement * aqueue
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:98
PROP_BUFFER_MODE
@ PROP_BUFFER_MODE
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:32
_GstDsNvUriSrcBinClass::sr_done
NvDsSRStatus(* sr_done)(GstDsNvUriSrcBin *, NvDsSRRecordingInfo *info, gpointer userData)
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:116
PROP_SET_RTP_PROTOCOL
@ PROP_SET_RTP_PROTOCOL
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:34
GstDsNvUriSrcBinClass
struct _GstDsNvUriSrcBinClass GstDsNvUriSrcBinClass
PROP_IPC_BUFFER_TIMESTAMP_COPY
@ PROP_IPC_BUFFER_TIMESTAMP_COPY
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:57
_GstDsNvUriSrcBin::audio_resample
GstElement * audio_resample
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:103
PROP_NUM_EXTRA_SURF
@ PROP_NUM_EXTRA_SURF
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:26
PROP_RTSP_RECONNECT_INTERVAL
@ PROP_RTSP_RECONNECT_INTERVAL
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:45
PROP_0
@ PROP_0
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:24
PROP_RTSP_INIT_RECONNECT_INTERVAL
@ PROP_RTSP_INIT_RECONNECT_INTERVAL
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:46
PROP_SMART_RECORD_STATUS
@ PROP_SMART_RECORD_STATUS
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:44
PROP_RTSP_RECONNECT_ATTEMPTS
@ PROP_RTSP_RECONNECT_ATTEMPTS
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:47
_GstDsNvUriSrcBin::reconfiguring
gboolean reconfiguring
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:88
_GstDsNvUriSrcBinClass::start_sr
NvDsSRStatus(* start_sr)(GstDsNvUriSrcBin *, NvDsSRSessionId *sessionId, guint startTime, guint duration, gpointer userData)
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:113
PROP_IPC_SOCKET_PATH
@ PROP_IPC_SOCKET_PATH
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:58
_GstDsNvUriSrcBin::last_reconnect_time
struct timeval last_reconnect_time
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:86
gst-nvdssr.h
PROP_LOW_LATENCY_MODE
@ PROP_LOW_LATENCY_MODE
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:54
_GstDsNvUriSrcBin::cap_filter1
GstElement * cap_filter1
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:72
_GstDsNvUriSrcBin::audio_convert
GstElement * audio_convert
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:102
_GstDsNvUriSrcBin::atee
GstElement * atee
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:100
PROP_LATENCY
@ PROP_LATENCY
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:48
_GstDsNvUriSrcBin::prev_accumulated_base
guint64 prev_accumulated_base
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:91
_GstDsNvUriSrcBin::bin_lock
GMutex bin_lock
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:84
_GstDsNvUriSrcBin::audio_elem_populated
gboolean audio_elem_populated
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:106
_GstDsNvUriSrcBin::source_watch_id
guint source_watch_id
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:95
_GstDsNvUriSrcBin::parser
GstElement * parser
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:74
PROP_CUDADEC_MEM_TYPE
@ PROP_CUDADEC_MEM_TYPE
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:30
_GstDsNvUriSrcBin::config
GstDsNvUriSrcConfig * config
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:92
NvDsSRRecordingInfo
Hold information about video recorded.
Definition:
gst-nvdssr.h:136
PROP_DISABLE_PASSTHROUGH
@ PROP_DISABLE_PASSTHROUGH
Definition:
gst-nvurisrcbin/gstdsnvurisrcbin.h:51
_GstDsNvUriSrcBin::depay
GstElement * depay
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:73
_GstDsNvUriSrcBin::tee
GstElement * tee
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:77
_GstDsNvUriSrcBin::adecodebin
GstElement * adecodebin
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:101
_GstDsNvUriSrcBin::fakesink_queue
GstElement * fakesink_queue
Definition:
gst-nvmultiurisrcbin/gstdsnvurisrcbin.h:80
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 Feb 5 2026 15:08:00 | PR-09318-R32