NVIDIA DeepStream SDK API Reference

9.2 Release
sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2017-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_NVSTREAMDEMUX_H__
19 #define __GST_NVSTREAMDEMUX_H__
20 
21 #include <gst/gst.h>
22 #include "nvmultistream_common.h"
23 
24 G_BEGIN_DECLS
25 #define GST_TYPE_NVSTREAMDEMUX \
26  (gst_nvstreamdemux_get_type ())
27 #define GST_NVSTREAMDEMUX(obj) \
28  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVSTREAMDEMUX,GstNvStreamDemux))
29 #define GST_NVSTREAMDEMUX_CLASS(klass) \
30  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVSTREAMDEMUX,GstNvStreamDemuxClass))
31 #define GST_IS_NVSTREAMDEMUX(obj) \
32  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVSTREAMDEMUX))
33 #define GST_IS_NVSTREAMDEMUX_CLASS(klass) \
34  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVSTREAMDEMUX))
37 
39 {
40  GstElement element;
41 
42  GstPad *sinkpad;
43 
44  GHashTable *pad_indexes;
45 
47 
48  guint cur_index;
50 
51  GstCaps *sink_caps;
52 
53  GMutex ctx_lock;
54 
55  gboolean per_stream_eos;
57 };
58 
60 {
61  GstElementClass parent_class;
62 };
63 
64 G_GNUC_INTERNAL GType gst_nvstreamdemux_get_type (void);
65 
66 G_END_DECLS
67 #endif
_GstNvStreamDemux::sinkpad
GstPad * sinkpad
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:42
_GstNvStreamDemux::cur_index
guint cur_index
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:48
_GstNvStreamDemux
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:38
_GstNvStreamDemux::element
GstElement element
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:40
nvmultistream_common.h
_GstNvStreamDemux::num_surfaces_per_frame
guint num_surfaces_per_frame
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:46
_GstNvStreamDemux::cur_demux_index
guint cur_demux_index
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:49
GstNvMultiStreamPadFrameRates
Definition: sources/gst-plugins/gst-nvmultistream/nvmultistream_common.h:23
_GstNvStreamDemuxClass
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:59
gst_nvstreamdemux_get_type
G_GNUC_INTERNAL GType gst_nvstreamdemux_get_type(void)
_GstNvStreamDemux::per_stream_eos
gboolean per_stream_eos
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:55
_GstNvStreamDemux::pad_indexes
GHashTable * pad_indexes
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:44
_GstNvStreamDemux::sink_caps
GstCaps * sink_caps
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:51
_GstNvStreamDemuxClass::parent_class
GstElementClass parent_class
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:61
_GstNvStreamDemux::pad_framerates
GstNvMultiStreamPadFrameRates * pad_framerates
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:56
_GstNvStreamDemux::ctx_lock
GMutex ctx_lock
Definition: sources/gst-plugins/gst-nvmultistream/gstnvstreamdemux.h:53