NVIDIA DeepStream SDK API Reference

9.1 Release
sources/includes/nvds_appctx_server.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2023-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 
34 #ifndef _NVGSTDS_APPCTX_SERVER_PARSER_H_
35 #define _NVGSTDS_APPCTX_SERVER_PARSER_H_
36 
37 #ifdef __cplusplus
38 
39 #include "nvds_rest_server.h"
40 #include "nvds_yml_parser.h"
41 #include "gst-nvmultiurisrcbincreator.h"
42 extern "C"
43 {
44 #endif
45 
46 #include <gst/gst.h>
47 
51 typedef struct
52 {
53  GstElement *pipeline;
54  GstElement *multiuribin;
55  GstElement *sink;
56  GstElement *pgie;
57  GstElement *queue1;
58  GstElement *queue2;
59  GstElement *queue3;
60  GstElement *queue4;
61  GstElement *queue5;
62  GstElement *queue6;
63  GstElement *nvvidconv;
64  GstElement *tiler;
65  GstElement *nvdslogger;
66  GstElement *preprocess;
67  GstElement *nvosd;
68  GstElement *nvvidconv2;
69  GstElement *encoder;
70  GstElement *parser;
71  GstElement *queue_post_encoder;
72  GstElement *nvanalytics;
73 
74  void* restServer;
76  gchar* httpIp;
77  gchar* httpPort;
78 
84  gchar * uri_list;
85 } AppCtx;
86 
98 nvds_parse_server_appctx (gchar * cfg_file_path, const char* group,
99  AppCtx *appctx);
100 
113 nvds_parse_check_rest_server_with_app (gchar * cfg_file_path, const char* group,
114  gboolean *within_multiurisrcbin);
115 
116 #ifdef __cplusplus
117 }
118 #endif
119 
120 #endif /* _NVGSTDS_APPCTX_SERVER_PARSER_H_ */
121 
AppCtx::parser
GstElement * parser
Definition: sources/includes/nvds_appctx_server.h:70
AppCtx::pipeline
GstElement * pipeline
Definition: sources/includes/nvds_appctx_server.h:53
_GstDsNvUriSrcConfig
Definition: sources/includes/gst-nvdscommonconfig.h:102
AppCtx
REST server application context.
Definition: sources/includes/nvds_appctx_server.h:51
AppCtx::bincreator_lock
GMutex bincreator_lock
Definition: sources/includes/nvds_appctx_server.h:79
AppCtx::nvvidconv2
GstElement * nvvidconv2
Definition: sources/includes/nvds_appctx_server.h:68
AppCtx::sourceIdCounter
guint sourceIdCounter
Definition: sources/includes/nvds_appctx_server.h:83
AppCtx::queue4
GstElement * queue4
Definition: sources/includes/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::nvosd
GstElement * nvosd
Definition: sources/includes/nvds_appctx_server.h:67
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.
AppCtx::httpPort
gchar * httpPort
Definition: sources/includes/nvds_appctx_server.h:77
AppCtx
struct _AppCtx AppCtx
Definition: sources/apps/sample_apps/deepstream-app/deepstream_app.h:54
AppCtx::queue5
GstElement * queue5
Definition: sources/includes/nvds_appctx_server.h:61
AppCtx::preprocess
GstElement * preprocess
Definition: sources/includes/nvds_appctx_server.h:66
NvDst_Handle_NvMultiUriSrcCreator
void * NvDst_Handle_NvMultiUriSrcCreator
Definition: sources/includes/gst-nvmultiurisrcbincreator.h:36
NvDsServerConfig
Definition: sources/includes/nvds_rest_server.h:483
AppCtx::config
GstDsNvUriSrcConfig config
Definition: sources/includes/nvds_appctx_server.h:82
AppCtx::encoder
GstElement * encoder
Definition: sources/includes/nvds_appctx_server.h:69
AppCtx::uri_list
gchar * uri_list
Definition: sources/includes/nvds_appctx_server.h:84
NvDsYamlParserStatus
NvDsYamlParserStatus
Enum for Yaml parsing status for the API call on a GstElement.
Definition: sources/includes/nvds_yml_parser.h:46
AppCtx::muxConfig
GstDsNvStreammuxConfig muxConfig
Definition: sources/includes/nvds_appctx_server.h:81
AppCtx::server_conf
NvDsServerConfig server_conf
Definition: sources/includes/nvds_appctx_server.h:75
AppCtx::multiuribin
GstElement * multiuribin
Definition: sources/includes/nvds_appctx_server.h:54
AppCtx::tiler
GstElement * tiler
Definition: sources/includes/nvds_appctx_server.h:64
AppCtx::nvvidconv
GstElement * nvvidconv
Definition: sources/includes/nvds_appctx_server.h:63
AppCtx::nvanalytics
GstElement * nvanalytics
Definition: sources/includes/nvds_appctx_server.h:72
AppCtx::restServer
void * restServer
Definition: sources/includes/nvds_appctx_server.h:74
AppCtx::httpIp
gchar * httpIp
Definition: sources/includes/nvds_appctx_server.h:76
AppCtx::sink
GstElement * sink
Definition: sources/includes/nvds_appctx_server.h:55
AppCtx::queue_post_encoder
GstElement * queue_post_encoder
Definition: sources/includes/nvds_appctx_server.h:71
AppCtx::pgie
GstElement * pgie
Definition: sources/includes/nvds_appctx_server.h:56
AppCtx::queue2
GstElement * queue2
Definition: sources/includes/nvds_appctx_server.h:58
GstDsNvStreammuxConfig
Definition: sources/includes/gst-nvdscommonconfig.h:152
AppCtx::queue1
GstElement * queue1
Definition: sources/includes/nvds_appctx_server.h:57
AppCtx::nvmultiurisrcbinCreator
NvDst_Handle_NvMultiUriSrcCreator nvmultiurisrcbinCreator
Definition: sources/includes/nvds_appctx_server.h:80
AppCtx::nvdslogger
GstElement * nvdslogger
Definition: sources/includes/nvds_appctx_server.h:65
AppCtx::queue6
GstElement * queue6
Definition: sources/includes/nvds_appctx_server.h:62
AppCtx::queue3
GstElement * queue3
Definition: sources/includes/nvds_appctx_server.h:59