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 {
36 
37 typedef enum NvDsNmosSrcType {
41 
42 typedef enum NvDsNmosSinkType {
48 
49 typedef enum NvDsNmosSrtMode {
54 
55 typedef struct NvDsNmosSrcConfig {
56  gboolean enable;
57  guint index;
58  guint type;
59  guint sinkType;
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;
76  guint flipMethod;
78 
79 typedef struct NvDsNmosSinkConfig {
80  gboolean enable;
81  guint index;
82  guint type;
84  guint payloadSize;
85  gchar *sdpFile;
86  gchar *localIfaceIp;
87  gchar *id;
88  gchar *sdpTxt;
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;
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;
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;
126 
127 typedef struct NvDsNmosAppCtx {
128  GstElement *pipeline;
129  guint watchId;
131  GMainLoop *loop;
133  GHashTable *sources;
134  GHashTable *sinks;
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