NVIDIA DeepStream SDK API Reference

6.4 Release
nvds_appctx_server.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 
40 #ifndef _NVGSTDS_APPCTX_SERVER_PARSER_H_
41 #define _NVGSTDS_APPCTX_SERVER_PARSER_H_
42 
43 #ifdef __cplusplus
44 
45 #include "nvds_rest_server.h"
46 #include "nvds_yml_parser.h"
47 #include "gst-nvmultiurisrcbincreator.h"
48 extern "C"
49 {
50 #endif
51 
52 #include <gst/gst.h>
53 
57 typedef struct
58 {
59  GstElement *pipeline;
60  GstElement *multiuribin;
61  GstElement *sink;
62  GstElement *pgie;
63  GstElement *queue1;
64  GstElement *queue2;
65  GstElement *queue3;
66  GstElement *queue4;
67  GstElement *queue5;
68  GstElement *nvvidconv;
69  GstElement *tiler;
70  GstElement *nvdslogger;
71  GstElement *preprocess;
72  GstElement *nvosd;
73  GstElement *nvvidconv2;
74  GstElement *encoder;
75  GstElement *parser;
76  GstElement *queue_post_encoder;
77 
78  void* restServer;
80  gchar* httpIp;
81  gchar* httpPort;
82 
88  gchar * uri_list;
89 } AppCtx;
90 
102 nvds_parse_server_appctx (gchar * cfg_file_path, const char* group,
103  AppCtx *appctx);
104 
117 nvds_parse_check_rest_server_with_app (gchar * cfg_file_path, const char* group,
118  gboolean *within_multiurisrcbin);
119 
120 #ifdef __cplusplus
121 }
122 #endif
123 
124 #endif /* _NVGSTDS_APPCTX_SERVER_PARSER_H_ */
125 
AppCtx::queue3
GstElement * queue3
Definition: nvds_appctx_server.h:65
_GstDsNvUriSrcConfig
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:81
AppCtx
REST server application context.
Definition: nvds_appctx_server.h:57
AppCtx::bincreator_lock
GMutex bincreator_lock
Definition: nvds_appctx_server.h:83
AppCtx::sourceIdCounter
guint sourceIdCounter
Definition: nvds_appctx_server.h:87
AppCtx::queue4
GstElement * queue4
Definition: nvds_appctx_server.h:66
AppCtx::sink
GstElement * sink
Definition: nvds_appctx_server.h:61
AppCtx::httpPort
gchar * httpPort
Definition: nvds_appctx_server.h:81
AppCtx::uri_list
gchar * uri_list
Definition: nvds_appctx_server.h:88
AppCtx::nvdslogger
GstElement * nvdslogger
Definition: nvds_appctx_server.h:70
AppCtx::pgie
GstElement * pgie
Definition: nvds_appctx_server.h:62
AppCtx::multiuribin
GstElement * multiuribin
Definition: nvds_appctx_server.h:60
nvds_parse_server_appctx
NvDsYamlParserStatus nvds_parse_server_appctx(gchar *cfg_file_path, const char *group, AppCtx *appctx)
Set AppCtx from values specified in a YAML configuration file.
AppCtx::restServer
void * restServer
Definition: nvds_appctx_server.h:78
AppCtx::preprocess
GstElement * preprocess
Definition: nvds_appctx_server.h:71
nvds_parse_check_rest_server_with_app
NvDsYamlParserStatus nvds_parse_check_rest_server_with_app(gchar *cfg_file_path, const char *group, gboolean *within_multiurisrcbin)
Set "within_multiurisrcbin" varible from values specified in a YAML configuration file.
NvDst_Handle_NvMultiUriSrcCreator
void * NvDst_Handle_NvMultiUriSrcCreator
Definition: includes/gst-nvmultiurisrcbincreator.h:41
AppCtx::pipeline
GstElement * pipeline
Definition: nvds_appctx_server.h:59
AppCtx::nvosd
GstElement * nvosd
Definition: nvds_appctx_server.h:72
NvDsServerConfig
Definition: includes/nvds_rest_server.h:337
AppCtx::config
GstDsNvUriSrcConfig config
Definition: nvds_appctx_server.h:86
AppCtx::nvvidconv2
GstElement * nvvidconv2
Definition: nvds_appctx_server.h:73
NvDsYamlParserStatus
NvDsYamlParserStatus
Enum for Yaml parsing status for the API call on a GstElement.
Definition: nvds_yml_parser.h:52
AppCtx
struct _AppCtx AppCtx
Definition: deepstream_audio.h:44
AppCtx::muxConfig
GstDsNvStreammuxConfig muxConfig
Definition: nvds_appctx_server.h:85
AppCtx::queue_post_encoder
GstElement * queue_post_encoder
Definition: nvds_appctx_server.h:76
AppCtx::server_conf
NvDsServerConfig server_conf
Definition: nvds_appctx_server.h:79
AppCtx::queue1
GstElement * queue1
Definition: nvds_appctx_server.h:63
AppCtx::nvvidconv
GstElement * nvvidconv
Definition: nvds_appctx_server.h:68
AppCtx::queue5
GstElement * queue5
Definition: nvds_appctx_server.h:67
nvds_yml_parser.h
AppCtx::tiler
GstElement * tiler
Definition: nvds_appctx_server.h:69
AppCtx::parser
GstElement * parser
Definition: nvds_appctx_server.h:75
GstDsNvStreammuxConfig
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:109
AppCtx::nvmultiurisrcbinCreator
NvDst_Handle_NvMultiUriSrcCreator nvmultiurisrcbinCreator
Definition: nvds_appctx_server.h:84
AppCtx::queue2
GstElement * queue2
Definition: nvds_appctx_server.h:64
AppCtx::httpIp
gchar * httpIp
Definition: nvds_appctx_server.h:80
AppCtx::encoder
GstElement * encoder
Definition: nvds_appctx_server.h:74