NVIDIA DeepStream SDK API Reference
9.0 Release
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: Copyright (c) 2022 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 __DEEPSTREAM_NMOS_APP_H__
14
#define __DEEPSTREAM_NMOS_APP_H__
15
16
#include <gst/gst.h>
17
18
#ifdef __cplusplus
19
extern
"C"
20
{
21
#endif
22
23
#define MAX_SOURCE_NUM 16
24
#define MAX_SINK_NUM 16
25
26
typedef
enum
NvDsNmosAppMode
{
27
NVDS_NMOS_APP_MODE_RECEIVE
,
28
NVDS_NMOS_APP_MODE_SEND
,
29
NVDS_NMOS_APP_MODE_RECVSEND
30
}
NvDsNmosAppMode
;
31
32
typedef
enum
NvDsNmosSrcType
{
33
NMOS_UDP_SRC_OSS
= 1,
34
NMOS_UDP_SRC_NV
,
35
}
NvDsNmosSrcType
;
36
37
typedef
enum
NvDsNmosSinkType
{
38
NMOS_UDP_SINK_OSS
= 1,
39
NMOS_UDP_SINK_NV
,
40
NMOS_SRT_SINK
,
41
NMOS_XVIMAGE_SINK
42
}
NvDsNmosSinkType
;
43
44
typedef
enum
NvDsNmosSrtMode
{
45
NMOS_SRT_MODE_CALLER
,
46
NMOS_SRT_MODE_LISTENER
,
47
NMOS_SRT_MODE_RENDEZVOUS
48
}
NvDsNmosSrtMode
;
49
50
typedef
struct
NvDsNmosSrcConfig
{
51
gboolean
enable
;
52
guint
index
;
53
guint
type
;
54
guint
sinkType
;
55
guint
packetsPerLine
;
56
guint
payloadSize
;
57
gchar *
sdpFile
;
58
gchar *
sinkSdpFile
;
59
gchar *
localIfaceIp
;
60
gchar *
id
;
61
gchar *
sinkId
;
62
gchar *
srcSdpTxt
;
63
gchar *
sinkSdpTxt
;
64
gchar *
srtUri
;
65
guint
srtMode
;
66
guint
srtLatency
;
67
gchar *
srtPassphrase
;
68
guint
bitrate
;
69
guint
iframeinterval
;
70
gchar *
encodeCapsFilter
;
71
guint
flipMethod
;
72
}
NvDsNmosSrcConfig
;
73
74
typedef
struct
NvDsNmosSinkConfig
{
75
gboolean
enable
;
76
guint
index
;
77
guint
type
;
78
guint
packetsPerLine
;
79
guint
payloadSize
;
80
gchar *
sdpFile
;
81
gchar *
localIfaceIp
;
82
gchar *
id
;
83
gchar *
sdpTxt
;
84
}
NvDsNmosSinkConfig
;
85
86
typedef
struct
NvDsNmosAppConfig
{
87
gboolean
enablePgie
;
88
guint
httpPort
;
89
guint
numSrc
;
90
guint
numSink
;
91
gchar *
seed
;
92
gchar *
hostName
;
93
gchar *
pgieConfFile
;
94
gboolean
pluginType
;
95
NvDsNmosSrcConfig
srcConfigs
[
MAX_SOURCE_NUM
];
96
NvDsNmosSinkConfig
sinkConfigs
[
MAX_SINK_NUM
];
97
}
NvDsNmosAppConfig
;
98
99
typedef
struct
NvDsNmosSrcBin
100
{
101
GstElement *
bin
;
102
GstElement *
src
;
103
GstElement *
queue
;
104
GstElement *
payloader
;
105
GstElement *
sink
;
106
gchar *
mediaType
;
107
gchar *
srcId
;
108
guint
srcIndex
;
109
}
NvDsNmosSrcBin
;
110
111
typedef
struct
NvDsNmosSinkBin
112
{
113
GstElement *
bin
;
114
GstElement *
queue
;
115
GstElement *
payloader
;
116
GstElement *
sink
;
117
gchar *
mediaType
;
118
gchar *
id
;
119
guint
index
;
120
}
NvDsNmosSinkBin
;
121
122
typedef
struct
NvDsNmosAppCtx
{
123
GstElement *
pipeline
;
124
guint
watchId
;
125
gboolean
isPipelineActive
;
126
GMainLoop *
loop
;
127
NvDsNmosAppConfig
config
;
128
GHashTable *
sources
;
129
GHashTable *
sinks
;
130
}
NvDsNmosAppCtx
;
131
132
#ifdef __cplusplus
133
}
134
#endif
135
136
#endif
NvDsNmosAppCtx
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:122
NvDsNmosAppCtx::sources
GHashTable * sources
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:128
NvDsNmosSrcConfig::id
gchar * id
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:60
NvDsNmosSinkBin::sink
GstElement * sink
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:116
NvDsNmosSrcConfig::sinkId
gchar * sinkId
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:61
NvDsNmosAppConfig::httpPort
guint httpPort
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:88
NvDsNmosSinkConfig::id
gchar * id
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:82
NvDsNmosAppConfig
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:86
NvDsNmosSinkBin::bin
GstElement * bin
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:113
NvDsNmosSinkConfig
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:74
NvDsNmosSrcConfig::srtPassphrase
gchar * srtPassphrase
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:67
MAX_SOURCE_NUM
#define MAX_SOURCE_NUM
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:23
NvDsNmosSinkConfig::localIfaceIp
gchar * localIfaceIp
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:81
NvDsNmosAppConfig::numSink
guint numSink
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:90
NvDsNmosSrcConfig::srtUri
gchar * srtUri
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:64
NvDsNmosSrcBin
struct NvDsNmosSrcBin NvDsNmosSrcBin
NvDsNmosSrcConfig::sinkSdpTxt
gchar * sinkSdpTxt
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:63
NvDsNmosAppCtx::watchId
guint watchId
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:124
NMOS_UDP_SINK_OSS
@ NMOS_UDP_SINK_OSS
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:38
NvDsNmosSrcBin::srcIndex
guint srcIndex
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:108
NvDsNmosSinkBin
struct NvDsNmosSinkBin NvDsNmosSinkBin
NVDS_NMOS_APP_MODE_RECVSEND
@ NVDS_NMOS_APP_MODE_RECVSEND
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:29
NvDsNmosAppConfig::pluginType
gboolean pluginType
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:94
NvDsNmosSinkBin
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:111
NvDsNmosSrcConfig::payloadSize
guint payloadSize
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:56
NvDsNmosSrcConfig::enable
gboolean enable
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:51
NvDsNmosSinkBin::id
gchar * id
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:118
NvDsNmosSrcBin::mediaType
gchar * mediaType
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:106
NvDsNmosSrcBin::queue
GstElement * queue
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:103
NvDsNmosSrcConfig::sdpFile
gchar * sdpFile
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:57
NMOS_UDP_SRC_NV
@ NMOS_UDP_SRC_NV
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:34
NvDsNmosSrcConfig::srtMode
guint srtMode
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:65
NvDsNmosAppConfig::numSrc
guint numSrc
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:89
NvDsNmosSrcConfig::type
guint type
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:53
NvDsNmosSinkConfig::sdpFile
gchar * sdpFile
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:80
NvDsNmosSrcBin::sink
GstElement * sink
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:105
NvDsNmosAppConfig::pgieConfFile
gchar * pgieConfFile
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:93
NvDsNmosAppConfig::seed
gchar * seed
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:91
NvDsNmosAppConfig
struct NvDsNmosAppConfig NvDsNmosAppConfig
NMOS_UDP_SINK_NV
@ NMOS_UDP_SINK_NV
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:39
NMOS_UDP_SRC_OSS
@ NMOS_UDP_SRC_OSS
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:33
NvDsNmosSrcBin::payloader
GstElement * payloader
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:104
NvDsNmosSrcConfig::index
guint index
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:52
NvDsNmosSinkConfig
struct NvDsNmosSinkConfig NvDsNmosSinkConfig
NvDsNmosSinkConfig::type
guint type
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:77
NvDsNmosSrcConfig::localIfaceIp
gchar * localIfaceIp
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:59
NvDsNmosAppMode
NvDsNmosAppMode
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:26
NMOS_XVIMAGE_SINK
@ NMOS_XVIMAGE_SINK
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:41
NvDsNmosAppConfig::enablePgie
gboolean enablePgie
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:87
NMOS_SRT_MODE_CALLER
@ NMOS_SRT_MODE_CALLER
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:45
NvDsNmosAppCtx
struct NvDsNmosAppCtx NvDsNmosAppCtx
NvDsNmosAppConfig::sinkConfigs
NvDsNmosSinkConfig sinkConfigs[MAX_SINK_NUM]
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:96
NvDsNmosSrcConfig::bitrate
guint bitrate
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:68
NvDsNmosAppCtx::loop
GMainLoop * loop
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:126
NMOS_SRT_MODE_RENDEZVOUS
@ NMOS_SRT_MODE_RENDEZVOUS
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:47
MAX_SINK_NUM
#define MAX_SINK_NUM
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:24
NvDsNmosSrcConfig
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:50
NMOS_SRT_MODE_LISTENER
@ NMOS_SRT_MODE_LISTENER
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:46
NvDsNmosSrtMode
NvDsNmosSrtMode
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:44
NvDsNmosSrcConfig::iframeinterval
guint iframeinterval
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:69
NvDsNmosSrcConfig::flipMethod
guint flipMethod
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:71
NvDsNmosSrcConfig::encodeCapsFilter
gchar * encodeCapsFilter
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:70
NvDsNmosSrcConfig::sinkType
guint sinkType
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:54
NvDsNmosAppConfig::srcConfigs
NvDsNmosSrcConfig srcConfigs[MAX_SOURCE_NUM]
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:95
NvDsNmosAppCtx::sinks
GHashTable * sinks
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:129
NvDsNmosSrcConfig::srcSdpTxt
gchar * srcSdpTxt
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:62
NvDsNmosSrcConfig::sinkSdpFile
gchar * sinkSdpFile
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:58
NvDsNmosSrcConfig
struct NvDsNmosSrcConfig NvDsNmosSrcConfig
NVDS_NMOS_APP_MODE_SEND
@ NVDS_NMOS_APP_MODE_SEND
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:28
NvDsNmosSrcBin::bin
GstElement * bin
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:101
NvDsNmosSrcBin::srcId
gchar * srcId
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:107
NvDsNmosSinkConfig::sdpTxt
gchar * sdpTxt
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:83
NvDsNmosAppConfig::hostName
gchar * hostName
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:92
NvDsNmosSinkBin::queue
GstElement * queue
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:114
NvDsNmosSrcType
NvDsNmosSrcType
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:32
NvDsNmosSrcConfig::srtLatency
guint srtLatency
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:66
NvDsNmosSinkConfig::packetsPerLine
guint packetsPerLine
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:78
NvDsNmosSinkType
NvDsNmosSinkType
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:37
NvDsNmosSrcBin::src
GstElement * src
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:102
NvDsNmosAppCtx::isPipelineActive
gboolean isPipelineActive
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:125
NvDsNmosSrcBin
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:99
NvDsNmosSinkConfig::enable
gboolean enable
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:75
NvDsNmosSinkBin::mediaType
gchar * mediaType
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:117
NvDsNmosSinkConfig::index
guint index
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:76
NvDsNmosAppCtx::pipeline
GstElement * pipeline
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:123
NvDsNmosSinkBin::index
guint index
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:119
NvDsNmosSinkConfig::payloadSize
guint payloadSize
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:79
NVDS_NMOS_APP_MODE_RECEIVE
@ NVDS_NMOS_APP_MODE_RECEIVE
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:27
NvDsNmosSrcConfig::packetsPerLine
guint packetsPerLine
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:55
NvDsNmosSinkBin::payloader
GstElement * payloader
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:115
NMOS_SRT_SINK
@ NMOS_SRT_SINK
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:40
NvDsNmosAppCtx::config
NvDsNmosAppConfig config
Definition:
sources/apps/sample_apps/deepstream-nmos/deepstream_nmos_app.h:127
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.
Fri Mar 20 2026 14:36:58 | PR-09318-R32