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