NVIDIA DeepStream SDK API Reference

9.2 Release
sources/libs/gstnvcustomhelper/gst-nvcustomevent.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2023-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
36 #ifndef __GST_NVCUSTOMEVENT_H__
37 #define __GST_NVCUSTOMEVENT_H__
38 
39 #include <gst/gst.h>
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44 
45 #define FLAG(name) GST_EVENT_TYPE_##name
46 
48 typedef enum {
52  = GST_EVENT_MAKE_TYPE (500, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
56  = GST_EVENT_MAKE_TYPE (501, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
60  = GST_EVENT_MAKE_TYPE (502, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
61 
65  = GST_EVENT_MAKE_TYPE (503, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
69  = GST_EVENT_MAKE_TYPE (504, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
73  = GST_EVENT_MAKE_TYPE (505, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
77  = GST_EVENT_MAKE_TYPE (506, FLAG(DOWNSTREAM) | FLAG(SERIALIZED))
79 #undef FLAG
80 
87 GstEvent * gst_nvevent_dec_drop_frame_interval_update (gchar* stream_id, guint interval);
88 
99 void gst_nvevent_parse_dec_drop_frame_interval_update (GstEvent * event, gchar** stream_id, guint *interval);
100 
107 GstEvent * gst_nvevent_dec_skip_frame_update (gchar* stream_id, guint frame_type);
108 
119 void gst_nvevent_parse_dec_skip_frame_update (GstEvent * event, gchar** stream_id, guint *frame_type);
120 
121 
128 GstEvent * gst_nvevent_dec_enable_low_latency_mode (gchar* stream_id, gint enable);
129 
140 void gst_nvevent_parse_dec_enable_low_latency_mode (GstEvent * event, gchar** stream_id, gint *enable);
141 
148 GstEvent * gst_nvevent_enc_bitrate_update (gchar* stream_id, guint bitrate);
149 
160 void gst_nvevent_parse_enc_bitrate_update (GstEvent * event, gchar** stream_id, guint *bitrate);
161 
168 GstEvent * gst_nvevent_enc_force_idr (gchar* stream_id, gint force);
169 
180 void gst_nvevent_parse_enc_force_idr (GstEvent * event, gchar** stream_id, gint *force);
181 
188 GstEvent * gst_nvevent_enc_force_intra (gchar* stream_id, gint force);
189 
200 void gst_nvevent_parse_enc_force_intra (GstEvent * event, gchar** stream_id, gint *force);
201 
208 GstEvent * gst_nvevent_enc_iframeinterval_update (gchar* stream_id, guint interval);
209 
220 void gst_nvevent_parse_enc_iframeinterval_update (GstEvent * event, gchar** stream_id, guint *interval);
221 
222 
223 #ifdef __cplusplus
224 }
225 #endif
226 
227 #endif
228 
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: sources/libs/gstnvcustomhelper/gst-nvcustomevent.h:72
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: sources/libs/gstnvcustomhelper/gst-nvcustomevent.h:48
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: sources/libs/gstnvcustomhelper/gst-nvcustomevent.h:68
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: sources/libs/gstnvcustomhelper/gst-nvcustomevent.h:45
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: sources/libs/gstnvcustomhelper/gst-nvcustomevent.h:51
GST_NVEVENT_ENC_BITRATE_UPDATE
@ GST_NVEVENT_ENC_BITRATE_UPDATE
Specifies a custom event to indicate encoder bitrate update of a particular stream.
Definition: sources/libs/gstnvcustomhelper/gst-nvcustomevent.h:64
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: sources/libs/gstnvcustomhelper/gst-nvcustomevent.h:59
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: sources/libs/gstnvcustomhelper/gst-nvcustomevent.h:55
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: sources/libs/gstnvcustomhelper/gst-nvcustomevent.h:76
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.