NVIDIA DeepStream SDK API Reference

9.0 Release
9.0/sources/includes/nvds_appctx_server.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2023-2025 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 
29 #ifndef _NVGSTDS_APPCTX_SERVER_PARSER_H_
30 #define _NVGSTDS_APPCTX_SERVER_PARSER_H_
31 
32 #ifdef __cplusplus
33 
34 #include "nvds_rest_server.h"
35 #include "nvds_yml_parser.h"
36 #include "gst-nvmultiurisrcbincreator.h"
37 extern "C"
38 {
39 #endif
40 
41 #include <gst/gst.h>
42 
46 typedef struct
47 {
48  GstElement *pipeline;
49  GstElement *multiuribin;
50  GstElement *sink;
51  GstElement *pgie;
52  GstElement *queue1;
53  GstElement *queue2;
54  GstElement *queue3;
55  GstElement *queue4;
56  GstElement *queue5;
57  GstElement *queue6;
58  GstElement *nvvidconv;
59  GstElement *tiler;
60  GstElement *nvdslogger;
61  GstElement *preprocess;
62  GstElement *nvosd;
63  GstElement *nvvidconv2;
64  GstElement *encoder;
65  GstElement *parser;
66  GstElement *queue_post_encoder;
67  GstElement *nvanalytics;
68 
69  void* restServer;
70  NvDsServerConfig server_conf;
71  gchar* httpIp;
72  gchar* httpPort;
73 
74  GMutex bincreator_lock;
75  NvDst_Handle_NvMultiUriSrcCreator nvmultiurisrcbinCreator;
76  GstDsNvStreammuxConfig muxConfig;
77  GstDsNvUriSrcConfig config;
78  guint sourceIdCounter;
79  gchar * uri_list;
80 } AppCtx;
81 
93 nvds_parse_server_appctx (gchar * cfg_file_path, const char* group,
94  AppCtx *appctx);
95 
108 nvds_parse_check_rest_server_with_app (gchar * cfg_file_path, const char* group,
109  gboolean *within_multiurisrcbin);
110 
111 #ifdef __cplusplus
112 }
113 #endif
114 
115 #endif /* _NVGSTDS_APPCTX_SERVER_PARSER_H_ */
116 
_GstDsNvUriSrcConfig
Definition: sources/includes/gst-nvdscommonconfig.h:97
AppCtx
REST server application context.
Definition: sources/includes/nvds_appctx_server.h:46
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.
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
struct __AppCtx AppCtx
NvDst_Handle_NvMultiUriSrcCreator
void * NvDst_Handle_NvMultiUriSrcCreator
Definition: sources/includes/gst-nvmultiurisrcbincreator.h:31
NvDsServerConfig
Definition: sources/includes/nvds_rest_server.h:448
NvDsYamlParserStatus
NvDsYamlParserStatus
Enum for Yaml parsing status for the API call on a GstElement.
Definition: sources/includes/nvds_yml_parser.h:41
GstDsNvStreammuxConfig
Definition: sources/includes/gst-nvdscommonconfig.h:147