NVIDIA DeepStream SDK API Reference

6.4 Release
libs/gstnvcustomhelper/gst-nvcustomevent.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 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 
42 #ifndef __GST_NVCUSTOMEVENT_H__
43 #define __GST_NVCUSTOMEVENT_H__
44 
45 #include <gst/gst.h>
46 
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50 
51 #define FLAG(name) GST_EVENT_TYPE_##name
52 
54 typedef enum {
58  = GST_EVENT_MAKE_TYPE (500, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
62  = GST_EVENT_MAKE_TYPE (501, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
66  = GST_EVENT_MAKE_TYPE (502, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
67 
71  = GST_EVENT_MAKE_TYPE (503, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
75  = GST_EVENT_MAKE_TYPE (504, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
79  = GST_EVENT_MAKE_TYPE (505, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
83  = GST_EVENT_MAKE_TYPE (506, FLAG(DOWNSTREAM) | FLAG(SERIALIZED))
85 #undef FLAG
86 
93 GstEvent * gst_nvevent_dec_drop_frame_interval_update (gchar* stream_id, guint interval);
94 
105 void gst_nvevent_parse_dec_drop_frame_interval_update (GstEvent * event, gchar** stream_id, guint *interval);
106 
113 GstEvent * gst_nvevent_dec_skip_frame_update (gchar* stream_id, guint frame_type);
114 
125 void gst_nvevent_parse_dec_skip_frame_update (GstEvent * event, gchar** stream_id, guint *frame_type);
126 
127 
134 GstEvent * gst_nvevent_dec_enable_low_latency_mode (gchar* stream_id, gint enable);
135 
146 void gst_nvevent_parse_dec_enable_low_latency_mode (GstEvent * event, gchar** stream_id, gint *enable);
147 
154 GstEvent * gst_nvevent_enc_bitrate_update (gchar* stream_id, guint bitrate);
155 
166 void gst_nvevent_parse_enc_bitrate_update (GstEvent * event, gchar** stream_id, guint *bitrate);
167 
174 GstEvent * gst_nvevent_enc_force_idr (gchar* stream_id, gint force);
175 
186 void gst_nvevent_parse_enc_force_idr (GstEvent * event, gchar** stream_id, gint *force);
187 
194 GstEvent * gst_nvevent_enc_force_intra (gchar* stream_id, gint force);
195 
206 void gst_nvevent_parse_enc_force_intra (GstEvent * event, gchar** stream_id, gint *force);
207 
214 GstEvent * gst_nvevent_enc_iframeinterval_update (gchar* stream_id, guint interval);
215 
226 void gst_nvevent_parse_enc_iframeinterval_update (GstEvent * event, gchar** stream_id, guint *interval);
227 
228 
229 #ifdef __cplusplus
230 }
231 #endif
232 
233 #endif
234 
gst_nvevent_parse_dec_skip_frame_update
void gst_nvevent_parse_dec_skip_frame_update(GstEvent *event, gchar **stream_id, guint *frame_type)
Parses a "nv-dec-skip-frame-update" event received on the sinkpad.
gst_nvevent_parse_enc_force_idr
void gst_nvevent_parse_enc_force_idr(GstEvent *event, gchar **stream_id, gint *force)
Parses a "nv-enc-force-idr" event received on the sinkpad.
gst_nvevent_parse_enc_force_intra
void gst_nvevent_parse_enc_force_intra(GstEvent *event, gchar **stream_id, gint *force)
Parses a "nv-enc-force-intra" event received on the sinkpad.
gst_nvevent_dec_enable_low_latency_mode
GstEvent * gst_nvevent_dec_enable_low_latency_mode(gchar *stream_id, gint enable)
Creates a new "nv-dec-enable-low-latency-mode" event.
GST_NVEVENT_ENC_FORCE_INTRA
@ GST_NVEVENT_ENC_FORCE_INTRA
Specifies a custom event to indicate encoder force Intra frame of a particular stream.
Definition: libs/gstnvcustomhelper/gst-nvcustomevent.h:78
gst_nvevent_dec_drop_frame_interval_update
GstEvent * gst_nvevent_dec_drop_frame_interval_update(gchar *stream_id, guint interval)
Creates a new "nv-dec-drop-frame-interval-update" event.
gst_nvevent_enc_iframeinterval_update
GstEvent * gst_nvevent_enc_iframeinterval_update(gchar *stream_id, guint interval)
Creates a new "nv-enc-iframeinterval-update" event.
GstNvCustomEventType
GstNvCustomEventType
Defines supported types of custom events.
Definition: libs/gstnvcustomhelper/gst-nvcustomevent.h:54
GST_NVEVENT_ENC_FORCE_IDR
@ GST_NVEVENT_ENC_FORCE_IDR
Specifies a custom event to indicate encoder force IDR frame of a particular stream.
Definition: libs/gstnvcustomhelper/gst-nvcustomevent.h:74
gst_nvevent_enc_force_intra
GstEvent * gst_nvevent_enc_force_intra(gchar *stream_id, gint force)
Creates a new "nv-enc-force-intra" event.
gst_nvevent_parse_enc_iframeinterval_update
void gst_nvevent_parse_enc_iframeinterval_update(GstEvent *event, gchar **stream_id, guint *interval)
Parses a "nv-enc-iframeinterval-update" event received on the sinkpad.
gst_nvevent_parse_dec_drop_frame_interval_update
void gst_nvevent_parse_dec_drop_frame_interval_update(GstEvent *event, gchar **stream_id, guint *interval)
Parses a "nv-dec-drop-frame-interval-update" event received on the sinkpad.
gst_nvevent_enc_force_idr
GstEvent * gst_nvevent_enc_force_idr(gchar *stream_id, gint force)
Creates a new "nv-enc-force-idr" event.
FLAG
#define FLAG(name)
Definition: libs/gstnvcustomhelper/gst-nvcustomevent.h:51
GST_NVEVENT_DEC_DROP_FRAME_INTERVAL_UPDATE
@ GST_NVEVENT_DEC_DROP_FRAME_INTERVAL_UPDATE
Specifies a custom event to indicate decoder drop frame interval update of a particular stream.
Definition: libs/gstnvcustomhelper/gst-nvcustomevent.h:57
GST_NVEVENT_ENC_BITRATE_UPDATE
@ GST_NVEVENT_ENC_BITRATE_UPDATE
Specifies a custom event to indicate encoder bitrate update of a particular stream.
Definition: libs/gstnvcustomhelper/gst-nvcustomevent.h:70
GST_NVEVENT_DEC_ENABLE_LOW_LATENCY_MODE
@ GST_NVEVENT_DEC_ENABLE_LOW_LATENCY_MODE
Specifies a custom event to enable decoder low-latency-mode of a particular stream.
Definition: libs/gstnvcustomhelper/gst-nvcustomevent.h:65
GST_NVEVENT_DEC_SKIP_FRAME_UPDATE
@ GST_NVEVENT_DEC_SKIP_FRAME_UPDATE
Specifies a custom event to indicate decoder skip frame update of a particular stream.
Definition: libs/gstnvcustomhelper/gst-nvcustomevent.h:61
gst_nvevent_parse_enc_bitrate_update
void gst_nvevent_parse_enc_bitrate_update(GstEvent *event, gchar **stream_id, guint *bitrate)
Parses a "nv-enc-bitrate-update" event received on the sinkpad.
gst_nvevent_enc_bitrate_update
GstEvent * gst_nvevent_enc_bitrate_update(gchar *stream_id, guint bitrate)
Creates a new "nv-enc-bitrate-update" event.
gst_nvevent_dec_skip_frame_update
GstEvent * gst_nvevent_dec_skip_frame_update(gchar *stream_id, guint frame_type)
Creates a new "nv-dec-skip-frame-update" event.
GST_NVEVENT_ENC_IFRAME_INTERVAL_UPDATE
@ GST_NVEVENT_ENC_IFRAME_INTERVAL_UPDATE
Specifies a custom event to indicate iframe interval update of a particular stream.
Definition: libs/gstnvcustomhelper/gst-nvcustomevent.h:82
gst_nvevent_parse_dec_enable_low_latency_mode
void gst_nvevent_parse_dec_enable_low_latency_mode(GstEvent *event, gchar **stream_id, gint *enable)
Parses a "nv-dec-enable-low-latency-mode" event received on the sinkpad.