NVIDIA DeepStream SDK API Reference

9.2 Release
9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-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 
18 #ifndef __GST_DS_NVVIDEOENCFILESINK_BIN_H__
19 #define __GST_DS_NVVIDEOENCFILESINK_BIN_H__
20 
21 #include <gst/gst.h>
22 
23 #include "nvbufsurface.h"
24 
25 G_BEGIN_DECLS
26 
27 typedef enum
28 {
32 
33 typedef enum
34 {
39 
40 typedef enum
41 {
45 
46 typedef enum
47 {
53 
54 /* Standard GStreamer boilerplate */
55 typedef struct _GstDsNvVideoEncFilesinkBin
56 {
57  GstBin bin;
58 
63  guint iframeinterval;
64  guint bitrate;
65  gchar *file_location;
66 
67  guint sync;
68  guint qos;
69  guint gpu_id;
71  gchar *create_from_config;
72 
73  GstElement *sink;
74  GstElement *mux;
75  GstElement *codecparse;
76  GstElement *encoder;
77  GstElement *cap_filter;
78  GstElement *transform;
79  GstElement *queue;
80 
81  GstPad *bin_sink_pad;
82 
84 
86 {
87  GstBinClass parent_class;
89 
90 
91 /* Standard GStreamer boilerplate */
92 #define GST_TYPE_DS_NVVIDEOENCFILESINK_BIN (gst_ds_nvvideoencfilesink_bin_get_type())
93 #define GST_DS_NVVIDEOENCFILESINK_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DS_NVVIDEOENCFILESINK_BIN,GstDsNvVideoEncFilesinkBin))
94 #define GST_DS_NVVIDEOENCFILESINK_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DS_NVVIDEOENCFILESINK_BIN,GstDsNvVideoEncFilesinkBinClass))
95 #define GST_DS_NVVIDEOENCFILESINK_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_DS_NVVIDEOENCFILESINK_BIN, GstDsNvVideoEncFilesinkBinClass))
96 #define GST_IS_DS_NVVIDEOENCFILESINK_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DS_NVVIDEOENCFILESINK_BIN))
97 #define GST_IS_DS_NVVIDEOENCFILESINK_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DS_NVVIDEOENCFILESINK_BIN))
98 #define GST_DS_NVVIDEOENCFILESINK_BIN_CAST(obj) ((GstDsNvVideoEncFilesinkBin *)(obj))
99 
101 
102 G_END_DECLS
103 #endif /* __GST_INFER_H__ */
_GstDsNvVideoEncFilesinkBin::cap_filter
GstElement * cap_filter
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:77
FileEncodeType
FileEncodeType
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:40
_GstDsNvVideoEncFilesinkBin::enc_type
FileEncodeType enc_type
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:61
_GstDsNvVideoEncFilesinkBin::file_location
gchar * file_location
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:65
FileContainerType
FileContainerType
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:27
FILE_ENCODER_SW
@ FILE_ENCODER_SW
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:43
FILE_CODEC_MPEG4
@ FILE_CODEC_MPEG4
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:37
GstDsNvVideoEncFilesinkBin
struct _GstDsNvVideoEncFilesinkBin GstDsNvVideoEncFilesinkBin
_GstDsNvVideoEncFilesinkBin::bin_sink_pad
GstPad * bin_sink_pad
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:81
_GstDsNvVideoEncFilesinkBin
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:55
_GstDsNvVideoEncFilesinkBin::mem_type
NvBufSurfaceMemType mem_type
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:70
FileProfileType
FileProfileType
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:46
FILE_PROFILE_MAIN
@ FILE_PROFILE_MAIN
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:49
_GstDsNvVideoEncFilesinkBin::encoder
GstElement * encoder
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:76
FILE_CONTAINER_MP4
@ FILE_CONTAINER_MP4
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:29
_GstDsNvVideoEncFilesinkBin::container
FileContainerType container
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:59
_GstDsNvVideoEncFilesinkBin::create_from_config
gchar * create_from_config
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:71
_GstDsNvVideoEncFilesinkBin::qos
guint qos
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:68
FILE_PROFILE_HIGH
@ FILE_PROFILE_HIGH
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:50
_GstDsNvVideoEncFilesinkBin::queue
GstElement * queue
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:79
_GstDsNvVideoEncFilesinkBin::sink
GstElement * sink
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:73
_GstDsNvVideoEncFilesinkBin::iframeinterval
guint iframeinterval
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:63
FILE_CODEC_H265
@ FILE_CODEC_H265
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:36
NvBufSurfaceMemType
NvBufSurfaceMemType
Specifies memory types for NvBufSurface.
Definition: includes/nvbufsurface.h:355
FileCodecType
FileCodecType
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:33
FILE_PROFILE_BASELINE
@ FILE_PROFILE_BASELINE
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:48
_GstDsNvVideoEncFilesinkBin::codec
FileCodecType codec
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:60
FileProfileType
FileProfileType
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:46
_GstDsNvVideoEncFilesinkBin::bin
GstBin bin
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:57
FILE_ENCODER_HW
@ FILE_ENCODER_HW
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:42
FILE_PROFILE_MAIN10
@ FILE_PROFILE_MAIN10
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:51
_GstDsNvVideoEncFilesinkBin::transform
GstElement * transform
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:78
gst_ds_nvvideoencfilesink_bin_get_type
GType gst_ds_nvvideoencfilesink_bin_get_type(void)
FileContainerType
FileContainerType
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:27
_GstDsNvVideoEncFilesinkBin::gpu_id
guint gpu_id
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:69
_GstDsNvVideoEncFilesinkBin::codecparse
GstElement * codecparse
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:75
FileEncodeType
FileEncodeType
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:40
_GstDsNvVideoEncFilesinkBinClass::parent_class
GstBinClass parent_class
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:87
FILE_CONTAINER_MKV
@ FILE_CONTAINER_MKV
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:30
_GstDsNvVideoEncFilesinkBin::sync
guint sync
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:67
FileCodecType
FileCodecType
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:33
_GstDsNvVideoEncFilesinkBin::profile
FileProfileType profile
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:62
_GstDsNvVideoEncFilesinkBin::bitrate
guint bitrate
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:64
_GstDsNvVideoEncFilesinkBin::mux
GstElement * mux
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:74
_GstDsNvVideoEncFilesinkBinClass
Definition: sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:85
FILE_CODEC_H264
@ FILE_CODEC_H264
Definition: 9.2/sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:35
GstDsNvVideoEncFilesinkBinClass
struct _GstDsNvVideoEncFilesinkBinClass GstDsNvVideoEncFilesinkBinClass