NVIDIA DeepStream SDK API Reference

6.4 Release
deepstream_secondary_gie.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018-2019, 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 #ifndef __NVGSTDS_SECONDARY_GIE_H__
24 #define __NVGSTDS_SECONDARY_GIE_H__
25 
26 #include "deepstream_gie.h"
27 
28 #ifdef __cplusplus
29 extern "C"
30 {
31 #endif
32 
33 typedef struct
34 {
35  GstElement *queue;
36  GstElement *secondary_gie;
37  GstElement *tee;
38  GstElement *sink;
39  gboolean create;
40  guint num_children;
43 
44 typedef struct
45 {
46  GstElement *bin;
47  GstElement *tee;
48  GstElement *queue;
50  gboolean stop;
51  gboolean flush;
53  GMutex wait_lock;
54  GCond wait_cond;
56 
71 gboolean create_secondary_gie_bin (guint num_secondary_gie,
72  guint primary_gie_unique_id, NvDsGieConfig *config_array,
73  NvDsSecondaryGieBin *bin);
74 
79 
80 #ifdef __cplusplus
81 }
82 #endif
83 
84 #endif
NvDsSecondaryGieBinSubBin::secondary_gie
GstElement * secondary_gie
Definition: deepstream_secondary_gie.h:36
NvDsSecondaryGieBin::wait_cond
GCond wait_cond
Definition: deepstream_secondary_gie.h:54
NvDsSecondaryGieBin::queue
GstElement * queue
Definition: deepstream_secondary_gie.h:48
NvDsSecondaryGieBinSubBin::create
gboolean create
Definition: deepstream_secondary_gie.h:39
MAX_SECONDARY_GIE_BINS
#define MAX_SECONDARY_GIE_BINS
Definition: deepstream_config.h:96
NvDsSecondaryGieBin::wait_lock
GMutex wait_lock
Definition: deepstream_secondary_gie.h:53
NvDsSecondaryGieBin::flush
gboolean flush
Definition: deepstream_secondary_gie.h:51
destroy_secondary_gie_bin
void destroy_secondary_gie_bin(NvDsSecondaryGieBin *bin)
Release the resources.
NvDsSecondaryGieBinSubBin::sink
GstElement * sink
Definition: deepstream_secondary_gie.h:38
create_secondary_gie_bin
gboolean create_secondary_gie_bin(guint num_secondary_gie, guint primary_gie_unique_id, NvDsGieConfig *config_array, NvDsSecondaryGieBin *bin)
Initialize NvDsSecondaryGieBin.
NvDsSecondaryGieBinSubBin::queue
GstElement * queue
Definition: deepstream_secondary_gie.h:35
NvDsSecondaryGieBin::stop
gboolean stop
Definition: deepstream_secondary_gie.h:50
deepstream_gie.h
NvDsGieConfig
Definition: deepstream_gie.h:43
NvDsSecondaryGieBinSubBin::parent_index
gint parent_index
Definition: deepstream_secondary_gie.h:41
NvDsSecondaryGieBinSubBin::num_children
guint num_children
Definition: deepstream_secondary_gie.h:40
NvDsSecondaryGieBinSubBin
Definition: deepstream_secondary_gie.h:33
NvDsSecondaryGieBin::bin
GstElement * bin
Definition: deepstream_secondary_gie.h:46
NvDsSecondaryGieBin
Definition: deepstream_secondary_gie.h:44
NvDsSecondaryGieBin::tee
GstElement * tee
Definition: deepstream_secondary_gie.h:47
NvDsSecondaryGieBinSubBin::tee
GstElement * tee
Definition: deepstream_secondary_gie.h:37
NvDsSecondaryGieBin::wait_for_sgie_process_buf_probe_id
gulong wait_for_sgie_process_buf_probe_id
Definition: deepstream_secondary_gie.h:49