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 {
31 
32 typedef enum NvDsNmosSrcType {
36 
37 typedef enum NvDsNmosSinkType {
43 
44 typedef enum NvDsNmosSrtMode {
49 
50 typedef struct NvDsNmosSrcConfig {
51  gboolean enable;
52  guint index;
53  guint type;
54  guint sinkType;
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;
71  guint flipMethod;
73 
74 typedef struct NvDsNmosSinkConfig {
75  gboolean enable;
76  guint index;
77  guint type;
79  guint payloadSize;
80  gchar *sdpFile;
81  gchar *localIfaceIp;
82  gchar *id;
83  gchar *sdpTxt;
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;
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;
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;
121 
122 typedef struct NvDsNmosAppCtx {
123  GstElement *pipeline;
124  guint watchId;
126  GMainLoop *loop;
128  GHashTable *sources;
129  GHashTable *sinks;
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