NVIDIA DeepStream SDK API Reference

6.4 Release
gstnvstreamdemux.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2021-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 
24 #ifndef __GST_NVSTREAMDEMUX_H__
25 #define __GST_NVSTREAMDEMUX_H__
26 
27 #include <gst/gst.h>
28 
29 G_BEGIN_DECLS
30 #define GST_TYPE_NVSTREAMDEMUX \
31  (gst_nvstreamdemux_2_get_type ())
32 #define GST_NVSTREAMDEMUX(obj) \
33  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVSTREAMDEMUX,GstNvStreamDemux))
34 #define GST_NVSTREAMDEMUX_CLASS(klass) \
35  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVSTREAMDEMUX,GstNvStreamDemuxClass))
36 #define GST_IS_NVSTREAMDEMUX(obj) \
37  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVSTREAMDEMUX))
38 #define GST_IS_NVSTREAMDEMUX_CLASS(klass) \
39  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVSTREAMDEMUX))
42 
44 {
45  GstElement element;
46 
47  GstPad *sinkpad;
48 
49  GHashTable *pad_indexes;
50  GHashTable *pad_framerates;
51  GHashTable *pad_caps_is_raw;
52  GHashTable *pad_stream_start_sent;
53  GHashTable *eos_flag;
54 
56 
57  GstCaps *sink_caps;
58 
59  GMutex ctx_lock;
60  gboolean isAudio;
61 };
62 
64 {
65  GstElementClass parent_class;
66 };
67 
68 G_GNUC_INTERNAL GType gst_nvstreamdemux_2_get_type (void);
69 
70 G_END_DECLS
71 #endif
gst_nvstreamdemux_2_get_type
G_GNUC_INTERNAL GType gst_nvstreamdemux_2_get_type(void)
_GstNvStreamDemux
Definition: gstnvstreamdemux.h:43
_GstNvStreamDemux::eos_flag
GHashTable * eos_flag
Definition: gstnvstreamdemux.h:53
_GstNvStreamDemux::element
GstElement element
Definition: gstnvstreamdemux.h:45
_GstNvStreamDemux::num_surfaces_per_frame
guint num_surfaces_per_frame
Definition: gstnvstreamdemux.h:55
_GstNvStreamDemux::pad_framerates
GHashTable * pad_framerates
Definition: gstnvstreamdemux.h:50
_GstNvStreamDemux::pad_caps_is_raw
GHashTable * pad_caps_is_raw
Definition: gstnvstreamdemux.h:51
_GstNvStreamDemux::isAudio
gboolean isAudio
Definition: gstnvstreamdemux.h:60
_GstNvStreamDemux::pad_indexes
GHashTable * pad_indexes
Definition: gstnvstreamdemux.h:49
_GstNvStreamDemux::sinkpad
GstPad * sinkpad
Definition: gstnvstreamdemux.h:47
_GstNvStreamDemux::sink_caps
GstCaps * sink_caps
Definition: gstnvstreamdemux.h:57
_GstNvStreamDemuxClass
Definition: gstnvstreamdemux.h:63
_GstNvStreamDemuxClass::parent_class
GstElementClass parent_class
Definition: gstnvstreamdemux.h:65
_GstNvStreamDemux::pad_stream_start_sent
GHashTable * pad_stream_start_sent
Definition: gstnvstreamdemux.h:52
_GstNvStreamDemux::ctx_lock
GMutex ctx_lock
Definition: gstnvstreamdemux.h:59