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