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 {}