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    /// #### `emit-signals`
37    ///  Enables the emission of signals such as [`buffer-consumed`][struct@crate::gst_base::AggregatorPad#buffer-consumed]
38    ///
39    /// Readable | Writeable
40    /// </details>
41    /// <details><summary><h4>Pad</h4></summary>
42    ///
43    ///
44    /// #### `caps`
45    ///  Readable
46    ///
47    ///
48    /// #### `direction`
49    ///  Readable | Writeable | Construct Only
50    ///
51    ///
52    /// #### `offset`
53    ///  The offset that will be applied to the running time of the pad.
54    ///
55    /// Readable | Writeable
56    ///
57    ///
58    /// #### `template`
59    ///  Readable | Writeable
60    /// </details>
61    /// <details><summary><h4>Object</h4></summary>
62    ///
63    ///
64    /// #### `name`
65    ///  Readable | Writeable | Construct
66    ///
67    ///
68    /// #### `parent`
69    ///  The parent of the object. Please note, that when changing the 'parent'
70    /// property, we don't emit [`notify`][struct@crate::glib::Object#notify] and [`deep-notify`][struct@crate::gst::Object#deep-notify]
71    /// signals due to locking issues. In some cases one can use
72    /// `GstBin::element-added` or `GstBin::element-removed` signals on the parent to
73    /// achieve a similar effect.
74    ///
75    /// Readable | Writeable
76    /// </details>
77    ///
78    /// # Implements
79    ///
80    /// [`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`]
81    #[doc(alias = "GstVideoAggregatorConvertPad")]
82    pub struct VideoAggregatorConvertPad(Object<ffi::GstVideoAggregatorConvertPad, ffi::GstVideoAggregatorConvertPadClass>) @extends VideoAggregatorPad, gst_base::AggregatorPad, gst::Pad, gst::Object;
83
84    match fn {
85        type_ => || ffi::gst_video_aggregator_convert_pad_get_type(),
86    }
87}
88
89impl VideoAggregatorConvertPad {
90    pub const NONE: Option<&'static VideoAggregatorConvertPad> = None;
91}
92
93unsafe impl Send for VideoAggregatorConvertPad {}
94unsafe impl Sync for VideoAggregatorConvertPad {}
95
96/// Trait containing all [`struct@VideoAggregatorConvertPad`] methods.
97///
98/// # Implementors
99///
100/// [`VideoAggregatorConvertPad`][struct@crate::VideoAggregatorConvertPad], [`VideoAggregatorParallelConvertPad`][struct@crate::VideoAggregatorParallelConvertPad]
101pub trait VideoAggregatorConvertPadExt: IsA<VideoAggregatorConvertPad> + 'static {
102    /// Requests the pad to check and update the converter before the next usage to
103    /// update for any changes that have happened.
104    #[doc(alias = "gst_video_aggregator_convert_pad_update_conversion_info")]
105    fn update_conversion_info(&self) {
106        unsafe {
107            ffi::gst_video_aggregator_convert_pad_update_conversion_info(
108                self.as_ref().to_glib_none().0,
109            );
110        }
111    }
112}
113
114impl<O: IsA<VideoAggregatorConvertPad>> VideoAggregatorConvertPadExt for O {}