1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
// This file was generated by gir (https://github.com/gtk-rs/gir) // from gir-files (https://github.com/gtk-rs/gir-files) // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) // DO NOT EDIT use crate::BaseSrc; glib::wrapper! { /// This class is mostly useful for elements that cannot do /// random access, or at least very slowly. The source usually /// prefers to push out a fixed size buffer. /// /// Subclasses usually operate in a format that is different from the /// default GST_FORMAT_BYTES format of [`BaseSrc`][crate::BaseSrc]. /// /// Classes extending this base class will usually be scheduled /// in a push based mode. If the peer accepts to operate without /// offsets and within the limits of the allowed block size, this /// class can operate in getrange based mode automatically. To make /// this possible, the subclass should implement and override the /// SCHEDULING query. /// /// The subclass should extend the methods from the baseclass in /// addition to the ::create method. /// /// Seeking, flushing, scheduling and sync is all handled by this /// base class. /// /// # Implements /// /// [`BaseSrcExt`][trait@crate::prelude::BaseSrcExt], [`trait@gst::prelude::ElementExt`], [`trait@gst::prelude::ObjectExt`], [`trait@glib::ObjectExt`], [`BaseSrcExtManual`][trait@crate::prelude::BaseSrcExtManual] #[doc(alias = "GstPushSrc")] pub struct PushSrc(Object<ffi::GstPushSrc, ffi::GstPushSrcClass>) @extends BaseSrc, gst::Element, gst::Object; match fn { type_ => || ffi::gst_push_src_get_type(), } } impl PushSrc {} unsafe impl Send for PushSrc {} unsafe impl Sync for PushSrc {} pub const NONE_PUSH_SRC: Option<&PushSrc> = None;