NVIDIA DeepStream SDK API Reference
9.2 Release
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
{
29
FILE_CONTAINER_MP4
= 1,
30
FILE_CONTAINER_MKV
31
}
FileContainerType
;
32
33
typedef
enum
34
{
35
FILE_CODEC_H264
= 1,
36
FILE_CODEC_H265
,
37
FILE_CODEC_MPEG4
38
}
FileCodecType
;
39
40
typedef
enum
41
{
42
FILE_ENCODER_HW
,
43
FILE_ENCODER_SW
44
}
FileEncodeType
;
45
46
typedef
enum
47
{
48
FILE_PROFILE_BASELINE
,
49
FILE_PROFILE_MAIN
,
50
FILE_PROFILE_HIGH
,
51
FILE_PROFILE_MAIN10
52
}
FileProfileType
;
53
54
/* Standard GStreamer boilerplate */
55
typedef
struct
_GstDsNvVideoEncFilesinkBin
56
{
57
GstBin
bin
;
58
59
FileContainerType
container
;
60
FileCodecType
codec
;
61
FileEncodeType
enc_type
;
62
FileProfileType
profile
;
63
guint
iframeinterval
;
64
guint
bitrate
;
65
gchar *
file_location
;
66
67
guint
sync
;
68
guint
qos
;
69
guint
gpu_id
;
70
NvBufSurfaceMemType
mem_type
;
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
83
}
GstDsNvVideoEncFilesinkBin
;
84
85
typedef
struct
_GstDsNvVideoEncFilesinkBinClass
86
{
87
GstBinClass
parent_class
;
88
}
GstDsNvVideoEncFilesinkBinClass
;
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
100
GType
gst_ds_nvvideoencfilesink_bin_get_type
(
void
);
101
102
G_END_DECLS
103
#endif
/* __GST_INFER_H__ */
FILE_CONTAINER_MKV
@ FILE_CONTAINER_MKV
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:30
_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
FILE_CODEC_MPEG4
@ FILE_CODEC_MPEG4
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:37
FileContainerType
FileContainerType
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:27
_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
FILE_PROFILE_HIGH
@ FILE_PROFILE_HIGH
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:50
FileProfileType
FileProfileType
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:46
GstDsNvVideoEncFilesinkBin
struct _GstDsNvVideoEncFilesinkBin GstDsNvVideoEncFilesinkBin
FILE_ENCODER_SW
@ FILE_ENCODER_SW
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:43
_GstDsNvVideoEncFilesinkBin::encoder
GstElement * encoder
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:76
_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
_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
FILE_PROFILE_BASELINE
@ FILE_PROFILE_BASELINE
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:48
_GstDsNvVideoEncFilesinkBin::iframeinterval
guint iframeinterval
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:63
NvBufSurfaceMemType
NvBufSurfaceMemType
Specifies memory types for NvBufSurface.
Definition:
includes/nvbufsurface.h:355
FILE_CODEC_H265
@ FILE_CODEC_H265
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:36
FileCodecType
FileCodecType
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:33
_GstDsNvVideoEncFilesinkBin::codec
FileCodecType codec
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:60
FILE_CONTAINER_MP4
@ FILE_CONTAINER_MP4
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:29
_GstDsNvVideoEncFilesinkBin::bin
GstBin bin
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:57
_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)
_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
FILE_PROFILE_MAIN10
@ FILE_PROFILE_MAIN10
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:51
_GstDsNvVideoEncFilesinkBinClass::parent_class
GstBinClass parent_class
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:87
_GstDsNvVideoEncFilesinkBin::sync
guint sync
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:67
_GstDsNvVideoEncFilesinkBin::profile
FileProfileType profile
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:62
GstDsNvVideoEncFilesinkBinClass
struct _GstDsNvVideoEncFilesinkBinClass GstDsNvVideoEncFilesinkBinClass
FILE_PROFILE_MAIN
@ FILE_PROFILE_MAIN
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:49
_GstDsNvVideoEncFilesinkBin::bitrate
guint bitrate
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:64
FILE_ENCODER_HW
@ FILE_ENCODER_HW
Definition:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:42
_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:
sources/gst-plugins/gst-nvdsbins/gstdsnvvideoencfilesinkbin.h:35
Privacy Policy
|
Your Privacy Choices
|
Terms of Service
|
Accessibility
|
Corporate Policies
|
Product Security
|
Contact
© 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
NVIDIA Confidential | Subject to Change | For test and development only.
Wed Oct 28 2026 12:02:03 | PR-09318-R32