NVIDIA DeepStream SDK API Reference

7.1 Release
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
NvDsNmosSrcBin
struct NvDsNmosSrcBin NvDsNmosSrcBin
NvDsNmosSrcType
NvDsNmosSrcType
Definition: deepstream_nmos_app.h:32
NvDsNmosAppCtx
Definition: deepstream_nmos_app.h:122
NvDsNmosAppCtx::pipeline
GstElement * pipeline
Definition: deepstream_nmos_app.h:123
NVDS_NMOS_APP_MODE_RECVSEND
@ NVDS_NMOS_APP_MODE_RECVSEND
Definition: deepstream_nmos_app.h:29
NvDsNmosSrcBin::bin
GstElement * bin
Definition: deepstream_nmos_app.h:101
NvDsNmosSrcBin::queue
GstElement * queue
Definition: deepstream_nmos_app.h:103
NvDsNmosAppConfig::httpPort
guint httpPort
Definition: deepstream_nmos_app.h:88
NvDsNmosSrcConfig::encodeCapsFilter
gchar * encodeCapsFilter
Definition: deepstream_nmos_app.h:70
NvDsNmosAppConfig
Definition: deepstream_nmos_app.h:86
NvDsNmosSinkConfig
Definition: deepstream_nmos_app.h:74
NMOS_UDP_SINK_NV
@ NMOS_UDP_SINK_NV
Definition: deepstream_nmos_app.h:39
NMOS_UDP_SRC_OSS
@ NMOS_UDP_SRC_OSS
Definition: deepstream_nmos_app.h:33
NvDsNmosSinkConfig::id
gchar * id
Definition: deepstream_nmos_app.h:82
NvDsNmosSrcBin::src
GstElement * src
Definition: deepstream_nmos_app.h:102
NvDsNmosAppMode
NvDsNmosAppMode
Definition: deepstream_nmos_app.h:26
NvDsNmosAppConfig::numSink
guint numSink
Definition: deepstream_nmos_app.h:90
NvDsNmosSrcConfig::srcSdpTxt
gchar * srcSdpTxt
Definition: deepstream_nmos_app.h:62
NvDsNmosSrcBin::mediaType
gchar * mediaType
Definition: deepstream_nmos_app.h:106
NvDsNmosAppCtx::watchId
guint watchId
Definition: deepstream_nmos_app.h:124
NvDsNmosSinkBin
struct NvDsNmosSinkBin NvDsNmosSinkBin
NvDsNmosAppCtx::sinks
GHashTable * sinks
Definition: deepstream_nmos_app.h:129
NvDsNmosSrcBin::srcIndex
guint srcIndex
Definition: deepstream_nmos_app.h:108
NvDsNmosSrcConfig
struct NvDsNmosSrcConfig NvDsNmosSrcConfig
NvDsNmosSrcBin::sink
GstElement * sink
Definition: deepstream_nmos_app.h:105
NvDsNmosSinkBin::payloader
GstElement * payloader
Definition: deepstream_nmos_app.h:115
NMOS_SRT_SINK
@ NMOS_SRT_SINK
Definition: deepstream_nmos_app.h:40
NvDsNmosAppConfig::pluginType
gboolean pluginType
Definition: deepstream_nmos_app.h:94
NvDsNmosSinkBin
Definition: deepstream_nmos_app.h:111
NvDsNmosSrcConfig::payloadSize
guint payloadSize
Definition: deepstream_nmos_app.h:56
NvDsNmosSrcConfig::enable
gboolean enable
Definition: deepstream_nmos_app.h:51
MAX_SINK_NUM
#define MAX_SINK_NUM
Definition: deepstream_nmos_app.h:24
NVDS_NMOS_APP_MODE_SEND
@ NVDS_NMOS_APP_MODE_SEND
Definition: deepstream_nmos_app.h:28
NMOS_UDP_SINK_OSS
@ NMOS_UDP_SINK_OSS
Definition: deepstream_nmos_app.h:38
NvDsNmosSrcConfig::srtMode
guint srtMode
Definition: deepstream_nmos_app.h:65
NvDsNmosAppConfig::numSrc
guint numSrc
Definition: deepstream_nmos_app.h:89
NvDsNmosAppCtx
struct NvDsNmosAppCtx NvDsNmosAppCtx
NvDsNmosSrcConfig::type
guint type
Definition: deepstream_nmos_app.h:53
NvDsNmosAppConfig
struct NvDsNmosAppConfig NvDsNmosAppConfig
NvDsNmosAppConfig::srcConfigs
NvDsNmosSrcConfig srcConfigs[MAX_SOURCE_NUM]
Definition: deepstream_nmos_app.h:95
NvDsNmosAppConfig::pgieConfFile
gchar * pgieConfFile
Definition: deepstream_nmos_app.h:93
NvDsNmosAppCtx::sources
GHashTable * sources
Definition: deepstream_nmos_app.h:128
NvDsNmosSinkBin::queue
GstElement * queue
Definition: deepstream_nmos_app.h:114
NvDsNmosSrcConfig::sinkId
gchar * sinkId
Definition: deepstream_nmos_app.h:61
NvDsNmosSinkConfig::localIfaceIp
gchar * localIfaceIp
Definition: deepstream_nmos_app.h:81
NvDsNmosSrcConfig::index
guint index
Definition: deepstream_nmos_app.h:52
NMOS_SRT_MODE_RENDEZVOUS
@ NMOS_SRT_MODE_RENDEZVOUS
Definition: deepstream_nmos_app.h:47
NvDsNmosSinkConfig::type
guint type
Definition: deepstream_nmos_app.h:77
NMOS_XVIMAGE_SINK
@ NMOS_XVIMAGE_SINK
Definition: deepstream_nmos_app.h:41
NvDsNmosSinkBin::mediaType
gchar * mediaType
Definition: deepstream_nmos_app.h:117
NvDsNmosAppConfig::enablePgie
gboolean enablePgie
Definition: deepstream_nmos_app.h:87
NvDsNmosSrcBin::srcId
gchar * srcId
Definition: deepstream_nmos_app.h:107
NvDsNmosSrcConfig::id
gchar * id
Definition: deepstream_nmos_app.h:60
NvDsNmosSrcConfig::bitrate
guint bitrate
Definition: deepstream_nmos_app.h:68
NMOS_SRT_MODE_LISTENER
@ NMOS_SRT_MODE_LISTENER
Definition: deepstream_nmos_app.h:46
NvDsNmosSinkType
NvDsNmosSinkType
Definition: deepstream_nmos_app.h:37
NvDsNmosSrcConfig::localIfaceIp
gchar * localIfaceIp
Definition: deepstream_nmos_app.h:59
NvDsNmosSinkBin::id
gchar * id
Definition: deepstream_nmos_app.h:118
NvDsNmosAppConfig::sinkConfigs
NvDsNmosSinkConfig sinkConfigs[MAX_SINK_NUM]
Definition: deepstream_nmos_app.h:96
NvDsNmosSrcConfig
Definition: deepstream_nmos_app.h:50
NvDsNmosSinkBin::sink
GstElement * sink
Definition: deepstream_nmos_app.h:116
NvDsNmosSrcConfig::sinkSdpFile
gchar * sinkSdpFile
Definition: deepstream_nmos_app.h:58
NvDsNmosSrcConfig::iframeinterval
guint iframeinterval
Definition: deepstream_nmos_app.h:69
MAX_SOURCE_NUM
#define MAX_SOURCE_NUM
Definition: deepstream_nmos_app.h:23
NvDsNmosSrcConfig::flipMethod
guint flipMethod
Definition: deepstream_nmos_app.h:71
NvDsNmosSrcConfig::sinkSdpTxt
gchar * sinkSdpTxt
Definition: deepstream_nmos_app.h:63
NvDsNmosSrcConfig::srtPassphrase
gchar * srtPassphrase
Definition: deepstream_nmos_app.h:67
NvDsNmosSrcConfig::sinkType
guint sinkType
Definition: deepstream_nmos_app.h:54
NvDsNmosSinkConfig
struct NvDsNmosSinkConfig NvDsNmosSinkConfig
NvDsNmosSinkConfig::sdpFile
gchar * sdpFile
Definition: deepstream_nmos_app.h:80
NvDsNmosSinkConfig::sdpTxt
gchar * sdpTxt
Definition: deepstream_nmos_app.h:83
NMOS_UDP_SRC_NV
@ NMOS_UDP_SRC_NV
Definition: deepstream_nmos_app.h:34
NvDsNmosSrcConfig::sdpFile
gchar * sdpFile
Definition: deepstream_nmos_app.h:57
NvDsNmosSrcConfig::srtLatency
guint srtLatency
Definition: deepstream_nmos_app.h:66
NvDsNmosSinkConfig::packetsPerLine
guint packetsPerLine
Definition: deepstream_nmos_app.h:78
NvDsNmosSrtMode
NvDsNmosSrtMode
Definition: deepstream_nmos_app.h:44
NvDsNmosAppCtx::isPipelineActive
gboolean isPipelineActive
Definition: deepstream_nmos_app.h:125
NvDsNmosSrcBin
Definition: deepstream_nmos_app.h:99
NvDsNmosSinkConfig::enable
gboolean enable
Definition: deepstream_nmos_app.h:75
NvDsNmosSrcConfig::srtUri
gchar * srtUri
Definition: deepstream_nmos_app.h:64
NMOS_SRT_MODE_CALLER
@ NMOS_SRT_MODE_CALLER
Definition: deepstream_nmos_app.h:45
NvDsNmosSinkConfig::index
guint index
Definition: deepstream_nmos_app.h:76
NvDsNmosSinkBin::index
guint index
Definition: deepstream_nmos_app.h:119
NvDsNmosSinkConfig::payloadSize
guint payloadSize
Definition: deepstream_nmos_app.h:79
NvDsNmosAppConfig::seed
gchar * seed
Definition: deepstream_nmos_app.h:91
NvDsNmosSinkBin::bin
GstElement * bin
Definition: deepstream_nmos_app.h:113
NvDsNmosAppConfig::hostName
gchar * hostName
Definition: deepstream_nmos_app.h:92
NvDsNmosSrcConfig::packetsPerLine
guint packetsPerLine
Definition: deepstream_nmos_app.h:55
NVDS_NMOS_APP_MODE_RECEIVE
@ NVDS_NMOS_APP_MODE_RECEIVE
Definition: deepstream_nmos_app.h:27
NvDsNmosSrcBin::payloader
GstElement * payloader
Definition: deepstream_nmos_app.h:104
NvDsNmosAppCtx::loop
GMainLoop * loop
Definition: deepstream_nmos_app.h:126
NvDsNmosAppCtx::config
NvDsNmosAppConfig config
Definition: deepstream_nmos_app.h:127