NVIDIA DeepStream SDK API Reference

6.4 Release
libs/gstnvdscustomhelper/gst-nvmultiurisrcbincreator.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: MIT
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included in
13  * all copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  */
23 
24 #ifndef _GST_NVMULTIURISRCBIN_CREATOR_H_
25 #define _GST_NVMULTIURISRCBIN_CREATOR_H_
26 #include <gst/gst.h>
27 #include "gst-nvdscommonconfig.h"
28 
29 
34 
35 #ifdef __cplusplus
36 extern "C"
37 {
38 #endif
39 
40 
42 
43  typedef enum
44  {
48 
57  guint sourceId);
58 
68  guint sourceId, NvDsServerDecInfo * dec_info);
69 
79  guint sourceId, NvDsServerConvInfo * conv_info);
80 
89  NvDsServerMuxInfo * mux_info);
90 
99  NvDsServerAppInstanceInfo * appinstance_info);
111  binName, NvDsMultiUriMode mode, GstDsNvStreammuxConfig * muxConfig);
112 
122  gboolean
124  apiHandle, GstDsNvUriSrcConfig * sourceConfig);
125 
138  gboolean
140  (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId);
141 
156  gboolean
158  (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId);
159 
172  GstElement
174  apiHandle);
175 
186  GstPad
189 
194  gboolean
197 
205  apiHandle);
206 
221  (NvDst_Handle_NvMultiUriSrcCreator apiHandle, gchar const *uri,
222  gchar const *sensorId);
223 
224 
230  sourceConfig);
231 
237  config);
238 
249  (NvDst_Handle_NvMultiUriSrcCreator apiHandle, gchar const *sensorId);
250 
263  gboolean
265  (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint * count,
266  GstDsNvUriSrcConfig *** configs);
267 
279  (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint count,
280  GstDsNvUriSrcConfig ** configs);
281 
282 #ifdef __cplusplus
283 }
284 #endif
285 
286 #endif
gst_nvmultiurisrcbincreator_get_source_config_by_sensorid
GstDsNvUriSrcConfig * gst_nvmultiurisrcbincreator_get_source_config_by_sensorid(NvDst_Handle_NvMultiUriSrcCreator apiHandle, gchar const *sensorId)
API to procure the source config for a particular sensor.
gst-nvdscommonconfig.h
_GstDsNvUriSrcConfig
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:81
gst_nvmultiurisrcbincreator_src_config_dup
GstDsNvUriSrcConfig * gst_nvmultiurisrcbincreator_src_config_dup(GstDsNvUriSrcConfig *sourceConfig)
API to create duplicate of GstDsNvUriSrcConfig.
gst_nvmultiurisrcbincreator_get_source_config
GstDsNvUriSrcConfig * gst_nvmultiurisrcbincreator_get_source_config(NvDst_Handle_NvMultiUriSrcCreator apiHandle, gchar const *uri, gchar const *sensorId)
API to procure the source config for a particular sensor.
gst_nvmultiurisrcbincreator_get_active_sources_list
gboolean gst_nvmultiurisrcbincreator_get_active_sources_list(NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint *count, GstDsNvUriSrcConfig ***configs)
API to procure the list of sources.
NVDS_MULTIURISRCBIN_MODE_VIDEO
@ NVDS_MULTIURISRCBIN_MODE_VIDEO
Definition: libs/gstnvdscustomhelper/gst-nvmultiurisrcbincreator.h:45
gst_nvmultiurisrcbincreator_get_bin
GstElement * gst_nvmultiurisrcbincreator_get_bin(NvDst_Handle_NvMultiUriSrcCreator apiHandle)
Get the nvmultiurisrcbin GstBin User may: a) add this Bin/Element into their pipeline and b) link the...
gst_nvmultiurisrcbincreator_src_config_list_free
void gst_nvmultiurisrcbincreator_src_config_list_free(NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint count, GstDsNvUriSrcConfig **configs)
API to destroy the memory allocation for list of sources procured with API: gst_nvmultiurisrcbincreat...
gst_nvmultiurisrcbincreator_add_source
gboolean gst_nvmultiurisrcbincreator_add_source(NvDst_Handle_NvMultiUriSrcCreator apiHandle, GstDsNvUriSrcConfig *sourceConfig)
API to add a source/stream into the nvmultiurisrcbin instance A new instance of nvurisrcbin will be c...
gst_nvmultiurisrcbincreator_remove_source_without_forced_state_change
gboolean gst_nvmultiurisrcbincreator_remove_source_without_forced_state_change(NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId)
API to remove a source/stream from the nvmultiurisrcbin instance The corresponding nvurisrcbin will b...
NvDsServerMuxInfo
Definition: includes/nvds_rest_server.h:239
gst_nvmultiurisrcbincreator_src_config_free
void gst_nvmultiurisrcbincreator_src_config_free(GstDsNvUriSrcConfig *config)
API to free GstDsNvUriSrcConfig object obtained with API: gst_nvmultiurisrcbincreator_src_config_dup.
NvDst_Handle_NvMultiUriSrcCreator
void * NvDst_Handle_NvMultiUriSrcCreator
Definition: includes/gst-nvmultiurisrcbincreator.h:41
NvDsMultiUriMode
NvDsMultiUriMode
Definition: libs/gstnvdscustomhelper/gst-nvmultiurisrcbincreator.h:43
set_nvuribin_dec_prop
gboolean set_nvuribin_dec_prop(NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId, NvDsServerDecInfo *dec_info)
API to set property value on nvv4l2decoder of nvmultiurisrcbin instance.
gst_nvmultiurisrcbincreator_deinit
void gst_nvmultiurisrcbincreator_deinit(NvDst_Handle_NvMultiUriSrcCreator apiHandle)
Deinit the nvmultiurisrcbin creator API Note: If this bin was added to a parent pipeline instance,...
NvDsMultiUriMode
NvDsMultiUriMode
Definition: includes/gst-nvmultiurisrcbincreator.h:43
NvDsServerDecInfo
Definition: includes/nvds_rest_server.h:195
NvDst_Handle_NvMultiUriSrcCreator
void * NvDst_Handle_NvMultiUriSrcCreator
Definition: libs/gstnvdscustomhelper/gst-nvmultiurisrcbincreator.h:41
gst_nvmultiurisrcbincreator_sync_children_states
gboolean gst_nvmultiurisrcbincreator_sync_children_states(NvDst_Handle_NvMultiUriSrcCreator apiHandle)
set_nvuribin_conv_prop
gboolean set_nvuribin_conv_prop(NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId, NvDsServerConvInfo *conv_info)
API to set property value on nvvideoconvert of nvmultiurisrcbin instance.
gst_nvmultiurisrcbincreator_remove_source
gboolean gst_nvmultiurisrcbincreator_remove_source(NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId)
API to remove a source/stream from the nvmultiurisrcbin instance The corresponding nvurisrcbin will b...
gst_nvmultiurisrcbincreator_init
NvDst_Handle_NvMultiUriSrcCreator gst_nvmultiurisrcbincreator_init(gchar *binName, NvDsMultiUriMode mode, GstDsNvStreammuxConfig *muxConfig)
Initialize the API for nvmultiurisrcbin creation Note: nvmultiurisrcbin is a collection of DeepStream...
NVDS_MULTIURISRCBIN_MODE_AUDIO
@ NVDS_MULTIURISRCBIN_MODE_AUDIO
Definition: libs/gstnvdscustomhelper/gst-nvmultiurisrcbincreator.h:46
set_nvuribin_mux_prop
gboolean set_nvuribin_mux_prop(NvDst_Handle_NvMultiUriSrcCreator apiHandle, NvDsServerMuxInfo *mux_info)
API to set property value on nvstreammux of nvmultiurisrcbin instance.
find_source
gboolean find_source(NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId)
API to check if sourceId related source exist.
GstDsNvStreammuxConfig
Definition: libs/gstnvdscustomhelper/gst-nvdscommonconfig.h:109
NvDsServerAppInstanceInfo
Definition: includes/nvds_rest_server.h:308
NvDsServerAppInstanceInfo::uri
std::string uri
Definition: includes/nvds_rest_server.h:315
s_force_eos_handle
gboolean s_force_eos_handle(NvDst_Handle_NvMultiUriSrcCreator apiHandle, NvDsServerAppInstanceInfo *appinstance_info)
API to set EOS related properties on nvstreammux of nvmultiurisrcbin instance.
NvDsServerConvInfo
Definition: includes/nvds_rest_server.h:224
gst_nvmultiurisrcbincreator_get_source_pad
GstPad * gst_nvmultiurisrcbincreator_get_source_pad(NvDst_Handle_NvMultiUriSrcCreator apiHandle)
API to procure the source pad ("src") of this nvmultiurisrcbin instance Note: User may link the bin's...