NVIDIA DeepStream SDK API Reference

8.0 Release
includes/gst-nvdscustomevent.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2022-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 
33 #ifndef __GST_NVDSCUSTOMEVENT_H__
34 #define __GST_NVDSCUSTOMEVENT_H__
35 
36 #include <gst/gst.h>
37 
38 #ifdef __cplusplus
39 extern "C"
40 {
41 #endif
42 
43 
45  typedef struct RoiDimension
46  {
47  gchar roi_id[128];
48  guint left;
49  guint top;
50  guint width;
51  guint height;
52  } RoiDimension;
53 
54 #define FLAG(name) GST_EVENT_TYPE_##name
55 
57  typedef enum
58  {
62  = GST_EVENT_MAKE_TYPE (406, FLAG (DOWNSTREAM) | FLAG (SERIALIZED)),
66  = GST_EVENT_MAKE_TYPE (407, FLAG (DOWNSTREAM) | FLAG (SERIALIZED)),
70  = GST_EVENT_MAKE_TYPE (408, FLAG (DOWNSTREAM) | FLAG (SERIALIZED)),
74  = GST_EVENT_MAKE_TYPE (409, FLAG (DOWNSTREAM) | FLAG (SERIALIZED)),
75 
79  = GST_EVENT_MAKE_TYPE (410, FLAG (DOWNSTREAM) | FLAG (SERIALIZED))
81 #undef FLAG
82 
90  GstEvent *gst_nvevent_new_roi_update (gchar * stream_id, guint roi_count,
91  RoiDimension * roi_dim);
92 
105  void gst_nvevent_parse_roi_update (GstEvent * event, gchar ** stream_id,
106  guint * roi_count, RoiDimension ** roi_dim);
107 
114  GstEvent *gst_nvevent_infer_interval_update (gchar * stream_id,
115  guint interval);
116 
127  void gst_nvevent_parse_infer_interval_update (GstEvent * event,
128  gchar ** stream_id, guint * interval);
129 
130 
137  GstEvent *gst_nvevent_nvtracker_config_update (gchar * stream_id, gchar * configStr);
138 
149  void gst_nvevent_parse_nvtracker_config_update (GstEvent * event,
150  gchar ** stream_id, gchar ** configStr);
151 
152 
159  GstEvent *gst_nvevent_osd_process_mode_update (gchar * stream_id,
160  guint process_mode);
161 
172  void gst_nvevent_parse_osd_process_mode_update (GstEvent * event,
173  gchar ** stream_id, guint * process_mode);
179 GstEvent *gst_nvevent_analytics_reload_config_update (gchar * config_file_path);
180 
188  gchar ** config_file_path);
189 
190 #ifdef __cplusplus
191 }
192 #endif
193 
194 #endif
195 
RoiDimension::roi_id
gchar roi_id[128]
Definition: includes/gst-nvdscustomevent.h:47
gst_nvevent_nvtracker_config_update
GstEvent * gst_nvevent_nvtracker_config_update(gchar *stream_id, gchar *configStr)
Creates a new "nv-tracker-config-update" event.
RoiDimension
Defines Roi structure for GST_NVCUSTOMEVENT_ROI_UPDATE custom event.
Definition: includes/gst-nvdscustomevent.h:45
gst_nvevent_parse_infer_interval_update
void gst_nvevent_parse_infer_interval_update(GstEvent *event, gchar **stream_id, guint *interval)
Parses a "nv-infer-interval-update" event received on the sinkpad.
RoiDimension::height
guint height
Definition: includes/gst-nvdscustomevent.h:51
gst_nvevent_new_roi_update
GstEvent * gst_nvevent_new_roi_update(gchar *stream_id, guint roi_count, RoiDimension *roi_dim)
Creates a new "roi-update" event.
RoiDimension::left
guint left
Definition: includes/gst-nvdscustomevent.h:48
gst_nvevent_parse_osd_process_mode_update
void gst_nvevent_parse_osd_process_mode_update(GstEvent *event, gchar **stream_id, guint *process_mode)
Parses a "nv-osd-process-mode-update" event received on the sinkpad.
RoiDimension::width
guint width
Definition: includes/gst-nvdscustomevent.h:50
GST_NVEVENT_OSD_PROCESS_MODE_UPDATE
@ GST_NVEVENT_OSD_PROCESS_MODE_UPDATE
Specifies a custom event to indicate osd process mode update of a particular stream in a batch.
Definition: includes/gst-nvdscustomevent.h:69
GST_NVEVENT_ROI_UPDATE
@ GST_NVEVENT_ROI_UPDATE
Specifies a custom event to indicate ROI update for preprocess of a particular stream in a batch.
Definition: includes/gst-nvdscustomevent.h:61
GstNvDsCustomEventType
GstNvDsCustomEventType
Defines supported types of custom events.
Definition: includes/gst-nvdscustomevent.h:57
RoiDimension::top
guint top
Definition: includes/gst-nvdscustomevent.h:49
gst_nvevent_parse_nvtracker_config_update
void gst_nvevent_parse_nvtracker_config_update(GstEvent *event, gchar **stream_id, gchar **configStr)
Parses a "nv-tracker-config-update" event received on the sinkpad.
gst_nvevent_analytics_reload_config_update
GstEvent * gst_nvevent_analytics_reload_config_update(gchar *config_file_path)
Creates a new "nv-analytics-reload_config-update" event.
GST_NVEVENT_ANALYTICS_RELOAD_CONFIG_UPDATE
@ GST_NVEVENT_ANALYTICS_RELOAD_CONFIG_UPDATE
Specifies a custom event to indicate analytics reload_config update of a particular stream in a batch...
Definition: includes/gst-nvdscustomevent.h:73
FLAG
#define FLAG(name)
Definition: includes/gst-nvdscustomevent.h:54
gst_nvevent_osd_process_mode_update
GstEvent * gst_nvevent_osd_process_mode_update(gchar *stream_id, guint process_mode)
Creates a new "nv-osd-process-mode-update" event.
gst_nvevent_infer_interval_update
GstEvent * gst_nvevent_infer_interval_update(gchar *stream_id, guint interval)
Creates a new "nv-infer-interval-update" event.
gst_nvevent_parse_analytics_reload_config_update
void gst_nvevent_parse_analytics_reload_config_update(GstEvent *event, gchar **config_file_path)
Parses a "nv-analytics-reload_config-update" event.
GST_NVEVENT_NVTRACKER_CONFIG_UPDATE
@ GST_NVEVENT_NVTRACKER_CONFIG_UPDATE
Specifies a custom event to indicate nvTracker config update for all streams .
Definition: includes/gst-nvdscustomevent.h:78
RoiDimension
struct RoiDimension RoiDimension
Defines Roi structure for GST_NVCUSTOMEVENT_ROI_UPDATE custom event.
gst_nvevent_parse_roi_update
void gst_nvevent_parse_roi_update(GstEvent *event, gchar **stream_id, guint *roi_count, RoiDimension **roi_dim)
Parses a "roi-update" event received on the sinkpad.
GST_NVEVENT_INFER_INTERVAL_UPDATE
@ GST_NVEVENT_INFER_INTERVAL_UPDATE
Specifies a custom event to indicate infer interval update of a particular stream in a batch.
Definition: includes/gst-nvdscustomevent.h:65