gstreamer_video/auto/video_aggregator_convert_pad.rs
1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6use crate::{ffi, VideoAggregatorPad};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10 /// An implementation of GstPad that can be used with [`VideoAggregator`][crate::VideoAggregator].
11 ///
12 /// See [`VideoAggregator`][crate::VideoAggregator] for more details.
13 ///
14 /// ## Properties
15 ///
16 ///
17 /// #### `converter-config`
18 /// Readable | Writeable
19 /// <details><summary><h4>VideoAggregatorPad</h4></summary>
20 ///
21 ///
22 /// #### `max-last-buffer-repeat`
23 /// Readable | Writeable
24 ///
25 ///
26 /// #### `repeat-after-eos`
27 /// Readable | Writeable
28 ///
29 ///
30 /// #### `zorder`
31 /// Readable | Writeable
32 /// </details>
33 /// <details><summary><h4>AggregatorPad</h4></summary>
34 ///
35 ///
36 /// #### `current-level-buffers`
37 /// The number of currently queued buffers inside this pad
38 ///
39 /// Readable
40 ///
41 ///
42 /// #### `current-level-bytes`
43 /// The number of currently queued bytes inside this pad
44 ///
45 /// Readable
46 ///
47 ///
48 /// #### `current-level-time`
49 /// The amount of currently queued time inside this pad
50 ///
51 /// Readable
52 ///
53 ///
54 /// #### `emit-signals`
55 /// Enables the emission of signals such as [`buffer-consumed`][struct@crate::gst_base::AggregatorPad#buffer-consumed]
56 ///
57 /// Readable | Writeable
58 /// </details>
59 /// <details><summary><h4>Pad</h4></summary>
60 ///
61 ///
62 /// #### `caps`
63 /// Readable
64 ///
65 ///
66 /// #### `direction`
67 /// Readable | Writeable | Construct Only
68 ///
69 ///
70 /// #### `offset`
71 /// The offset that will be applied to the running time of the pad.
72 ///
73 /// Readable | Writeable
74 ///
75 ///
76 /// #### `template`
77 /// Readable | Writeable
78 /// </details>
79 /// <details><summary><h4>Object</h4></summary>
80 ///
81 ///
82 /// #### `name`
83 /// Readable | Writeable | Construct
84 ///
85 ///
86 /// #### `parent`
87 /// The parent of the object. Please note, that when changing the 'parent'
88 /// property, we don't emit [`notify`][struct@crate::glib::Object#notify] and [`deep-notify`][struct@crate::gst::Object#deep-notify]
89 /// signals due to locking issues. In some cases one can use
90 /// `GstBin::element-added` or `GstBin::element-removed` signals on the parent to
91 /// achieve a similar effect.
92 ///
93 /// Readable | Writeable
94 /// </details>
95 ///
96 /// # Implements
97 ///
98 /// [`VideoAggregatorConvertPadExt`][trait@crate::prelude::VideoAggregatorConvertPadExt], [`VideoAggregatorPadExt`][trait@crate::prelude::VideoAggregatorPadExt], [`trait@gst_base::prelude::AggregatorPadExt`], [`trait@gst::prelude::PadExt`], [`trait@gst::prelude::ObjectExt`], [`trait@glib::ObjectExt`]
99 #[doc(alias = "GstVideoAggregatorConvertPad")]
100 pub struct VideoAggregatorConvertPad(Object<ffi::GstVideoAggregatorConvertPad, ffi::GstVideoAggregatorConvertPadClass>) @extends VideoAggregatorPad, gst_base::AggregatorPad, gst::Pad, gst::Object;
101
102 match fn {
103 type_ => || ffi::gst_video_aggregator_convert_pad_get_type(),
104 }
105}
106
107impl VideoAggregatorConvertPad {
108 pub const NONE: Option<&'static VideoAggregatorConvertPad> = None;
109}
110
111unsafe impl Send for VideoAggregatorConvertPad {}
112unsafe impl Sync for VideoAggregatorConvertPad {}
113
114/// Trait containing all [`struct@VideoAggregatorConvertPad`] methods.
115///
116/// # Implementors
117///
118/// [`VideoAggregatorConvertPad`][struct@crate::VideoAggregatorConvertPad], [`VideoAggregatorParallelConvertPad`][struct@crate::VideoAggregatorParallelConvertPad]
119pub trait VideoAggregatorConvertPadExt: IsA<VideoAggregatorConvertPad> + 'static {
120 /// Requests the pad to check and update the converter before the next usage to
121 /// update for any changes that have happened.
122 #[doc(alias = "gst_video_aggregator_convert_pad_update_conversion_info")]
123 fn update_conversion_info(&self) {
124 unsafe {
125 ffi::gst_video_aggregator_convert_pad_update_conversion_info(
126 self.as_ref().to_glib_none().0,
127 );
128 }
129 }
130}
131
132impl<O: IsA<VideoAggregatorConvertPad>> VideoAggregatorConvertPadExt for O {}