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 46
// This file was generated by gir (https://github.com/gtk-rs/gir) // from gir-files (https://github.com/gtk-rs/gir-files) // DO NOT EDIT use glib::translate::*; use gst; use gst_base_sys; use 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`. /// /// 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.BaseSrcExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`BaseSrcExtManual`](prelude/trait.BaseSrcExtManual.html) pub struct PushSrc(Object<gst_base_sys::GstPushSrc, gst_base_sys::GstPushSrcClass, PushSrcClass>) @extends BaseSrc, gst::Element, gst::Object; match fn { get_type => || gst_base_sys::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;