[−]Struct gstreamer_base::Aggregator
pub struct Aggregator(_, _);
Manages a set of pads with the purpose of aggregating their buffers. Control is given to the subclass when all pads have data.
-
Base class for mixers and muxers. Subclasses should at least implement the
AggregatorClass.aggregate
() virtual method. -
Installs a
GstPadChainFunction
, aGstPadEventFullFunction
and aGstPadQueryFunction
to queue all serialized data packets per sink pad. Subclasses should not overwrite those, but instead implementAggregatorClass.sink_event
() andAggregatorClass.sink_query
() as needed. -
When data is queued on all pads, the aggregate vmethod is called.
-
One can peek at the data on any given GstAggregatorPad with the gst_aggregator_pad_peek_buffer () method, and remove it from the pad with the gst_aggregator_pad_pop_buffer () method. When a buffer has been taken with pop_buffer (), a new buffer can be queued on that pad.
-
If the subclass wishes to push a buffer downstream in its aggregate implementation, it should do so through the gst_aggregator_finish_buffer () method. This method will take care of sending and ordering mandatory events such as stream start, caps and segment.
-
Same goes for EOS events, which should not be pushed directly by the subclass, it should instead return GST_FLOW_EOS in its aggregate implementation.
-
Note that the aggregator logic regarding gap event handling is to turn these into gap buffers with matching PTS and duration. It will also flag these buffers with GST_BUFFER_FLAG_GAP and GST_BUFFER_FLAG_DROPPABLE to ease their identification and subsequent processing.
-
Subclasses must use (a subclass of)
AggregatorPad
for both their sink and source pads. Seegst::ElementClass::add_static_pad_template_with_gtype
.
This class used to live in gst-plugins-bad and was moved to core.
Feature: v1_14
Implements
AggregatorExt
, gst::ElementExt
, gst::ObjectExt
, glib::object::ObjectExt
Trait Implementations
impl Clone for Aggregator
[+]
fn clone(&self) -> Aggregator
[−]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src][−]
Performs copy-assignment from source
. Read more
impl Debug for Aggregator
[+]
fn fmt(&self, f: &mut Formatter) -> Result
[−]
Formats the value using the given formatter. Read more
impl Eq for Aggregator
impl Hash for Aggregator
[+]
fn hash<__H: Hasher>(&self, state: &mut __H)
[−]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src][−]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl IsA<Element> for Aggregator
impl IsA<Object> for Aggregator
impl Ord for Aggregator
[+]
fn cmp(&self, other: &Aggregator) -> Ordering
[−]
This method returns an [Ordering
] between self
and other
. Read more
#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src][−]
Compares and returns the maximum of two values. Read more
#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src][−]
Compares and returns the minimum of two values. Read more
#[must_use]
fn clamp(self, min: Self, max: Self) -> Self
[src][−]
clamp
)Restrict a value to a certain interval. Read more
impl<T: ObjectType> PartialEq<T> for Aggregator
[+]
fn eq(&self, other: &T) -> bool
[−]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src][−]
This method tests for !=
.
impl<T: ObjectType> PartialOrd<T> for Aggregator
[+]
fn partial_cmp(&self, other: &T) -> Option<Ordering>
[−]
This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src][−]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src][−]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src][−]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src][−]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Send for Aggregator
[src]
impl StaticType for Aggregator
[+]
impl Sync for Aggregator
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
[src][−]
Gets the TypeId
of self
. Read more
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
fn borrow(&self) -> &T
[src][−]
Immutably borrows from an owned value. Read more
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src][−]
Mutably borrows from an owned value. Read more
impl<Super, Sub> CanDowncast<Sub> for Super where
Sub: IsA<Super>,
Super: IsA<Super>,
[src]
Sub: IsA<Super>,
Super: IsA<Super>,
impl<T> Cast for T where
T: ObjectType,
[src][+]
T: ObjectType,
fn upcast<T>(self) -> T where
Self: IsA<T>,
T: ObjectType,
[src][−]
Self: IsA<T>,
T: ObjectType,
Upcasts an object to a superclass or interface T
. Read more
fn upcast_ref<T>(&self) -> &T where
Self: IsA<T>,
T: ObjectType,
[src][−]
Self: IsA<T>,
T: ObjectType,
Upcasts an object to a reference of its superclass or interface T
. Read more
fn downcast<T>(self) -> Result<T, Self> where
Self: CanDowncast<T>,
T: ObjectType,
[src][−]
Self: CanDowncast<T>,
T: ObjectType,
Tries to downcast to a subclass or interface implementor T
. Read more
fn downcast_ref<T>(&self) -> Option<&T> where
Self: CanDowncast<T>,
T: ObjectType,
[src][−]
Self: CanDowncast<T>,
T: ObjectType,
Tries to downcast to a reference of its subclass or interface implementor T
. Read more
fn dynamic_cast<T>(self) -> Result<T, Self> where
T: ObjectType,
[src][−]
T: ObjectType,
Tries to cast to an object of type T
. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
fn dynamic_cast_ref<T>(&self) -> Option<&T> where
T: ObjectType,
[src][−]
T: ObjectType,
Tries to cast to reference to an object of type T
. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
unsafe fn unsafe_cast<T>(self) -> T where
T: ObjectType,
[src][−]
T: ObjectType,
Casts to T
unconditionally. Read more
unsafe fn unsafe_cast_ref<T>(&self) -> &T where
T: ObjectType,
[src][−]
T: ObjectType,
Casts to &T
unconditionally. Read more
impl<O> ElementExt for O where
O: IsA<Element>,
[src][+]
O: IsA<Element>,
fn abort_state(&self)
[src][−]
Abort the state change of the element. This function is used by elements that do asynchronous state changes and find out something is wrong. Read more
fn add_pad<P>(&self, pad: &P) -> Result<(), BoolError> where
P: IsA<Pad>,
[src][−]
P: IsA<Pad>,
Adds a pad (link point) to self
. pad
's parent will be set to self
; see GstObjectExt::set_parent
for refcounting information. Read more
fn create_all_pads(&self)
[src][−]
Creates a pad for each pad template that is always available. This function is only useful during object initialization of subclasses of Element
. Read more
fn foreach_pad<P>(&self, func: P) -> bool where
P: FnMut(&Element, &Pad) -> bool,
[src][−]
P: FnMut(&Element, &Pad) -> bool,
Call func
with user_data
for each of self
's pads. func
will be called exactly once for each pad that exists at the time of this call, unless one of the calls to func
returns false
in which case we will stop iterating pads and return early. If new pads are added or pads are removed while pads are being iterated, this will not be taken into account until next time this function is used. Read more
fn foreach_sink_pad<P>(&self, func: P) -> bool where
P: FnMut(&Element, &Pad) -> bool,
[src][−]
P: FnMut(&Element, &Pad) -> bool,
Call func
with user_data
for each of self
's sink pads. func
will be called exactly once for each sink pad that exists at the time of this call, unless one of the calls to func
returns false
in which case we will stop iterating pads and return early. If new sink pads are added or sink pads are removed while the sink pads are being iterated, this will not be taken into account until next time this function is used. Read more
fn foreach_src_pad<P>(&self, func: P) -> bool where
P: FnMut(&Element, &Pad) -> bool,
[src][−]
P: FnMut(&Element, &Pad) -> bool,
Call func
with user_data
for each of self
's source pads. func
will be called exactly once for each source pad that exists at the time of this call, unless one of the calls to func
returns false
in which case we will stop iterating pads and return early. If new source pads are added or source pads are removed while the source pads are being iterated, this will not be taken into account until next time this function is used. Read more
fn get_base_time(&self) -> ClockTime
[src][−]
Returns the base time of the element. The base time is the absolute time of the clock when this element was last put to PLAYING. Subtracting the base time from the clock time gives the running time of the element. Read more
fn get_bus(&self) -> Option<Bus>
[src][−]
Returns the bus of the element. Note that only a Pipeline
will provide a bus for the application. Read more
fn get_clock(&self) -> Option<Clock>
[src][−]
Gets the currently configured clock of the element. This is the clock as was last set with ElementExt::set_clock
. Read more
fn get_compatible_pad<P>(&self, pad: &P, caps: Option<&Caps>) -> Option<Pad> where
P: IsA<Pad>,
[src][−]
P: IsA<Pad>,
Looks for an unlinked pad to which the given pad can link. It is not guaranteed that linking the pads will work, though it should work in most cases. Read more
fn get_compatible_pad_template(
&self,
compattempl: &PadTemplate
) -> Option<PadTemplate>
[src][−]
&self,
compattempl: &PadTemplate
) -> Option<PadTemplate>
Retrieves a pad template from self
that is compatible with compattempl
. Pads from compatible templates can be linked together. ## compattempl
the PadTemplate
to find a compatible template for Read more
fn get_context(&self, context_type: &str) -> Option<Context>
[src][−]
Gets the context with context_type
set on the element or NULL. Read more
fn get_contexts(&self) -> Vec<Context>
[src][−]
Gets the contexts set on the element. Read more
fn get_factory(&self) -> Option<ElementFactory>
[src][−]
Retrieves the factory that was used to create this element. Read more
fn get_request_pad(&self, name: &str) -> Option<Pad>
[src][−]
Retrieves a pad from the element by name (e.g. "src_%d"). This version only retrieves request pads. The pad should be released with ElementExt::release_request_pad
. Read more
fn get_start_time(&self) -> ClockTime
[src][−]
Returns the start time of the element. The start time is the running time of the clock when this element was last put to PAUSED. Read more
fn get_static_pad(&self, name: &str) -> Option<Pad>
[src][−]
Retrieves a pad from self
by name. This version only retrieves already-existing (i.e. 'static') pads. ## name
the name of the static Pad
to retrieve. Read more
fn is_locked_state(&self) -> bool
[src][−]
Checks if the state of an element is locked. If the state of an element is locked, state changes of the parent don't affect the element. This way you can leave currently unused elements inside bins. Just lock their state before changing the state from State::Null
. Read more
fn link<P>(&self, dest: &P) -> Result<(), BoolError> where
P: IsA<Element>,
[src][−]
P: IsA<Element>,
Links self
to dest
. The link must be from source to destination; the other direction will not be tried. The function looks for existing pads that aren't linked yet. It will request new pads if necessary. Such pads need to be released manually when unlinking. If multiple links are possible, only one is established. Read more
fn link_filtered<P>(
&self,
dest: &P,
filter: Option<&Caps>
) -> Result<(), BoolError> where
P: IsA<Element>,
[src][−]
&self,
dest: &P,
filter: Option<&Caps>
) -> Result<(), BoolError> where
P: IsA<Element>,
Links self
to dest
using the given caps as filtercaps. The link must be from source to destination; the other direction will not be tried. The function looks for existing pads that aren't linked yet. It will request new pads if necessary. If multiple links are possible, only one is established. Read more
fn link_pads<P>(
&self,
srcpadname: Option<&str>,
dest: &P,
destpadname: Option<&str>
) -> Result<(), BoolError> where
P: IsA<Element>,
[src][−]
&self,
srcpadname: Option<&str>,
dest: &P,
destpadname: Option<&str>
) -> Result<(), BoolError> where
P: IsA<Element>,
Links the two named pads of the source and destination elements. Side effect is that if one of the pads has no parent, it becomes a child of the parent of the other element. If they have different parents, the link fails. ## srcpadname
the name of the Pad
in source element or None
for any pad. ## dest
the Element
containing the destination pad. ## destpadname
the name of the Pad
in destination element, or None
for any pad. Read more
fn link_pads_filtered<P>(
&self,
srcpadname: Option<&str>,
dest: &P,
destpadname: Option<&str>,
filter: Option<&Caps>
) -> Result<(), BoolError> where
P: IsA<Element>,
[src][−]
&self,
srcpadname: Option<&str>,
dest: &P,
destpadname: Option<&str>,
filter: Option<&Caps>
) -> Result<(), BoolError> where
P: IsA<Element>,
Links the two named pads of the source and destination elements. Side effect is that if one of the pads has no parent, it becomes a child of the parent of the other element. If they have different parents, the link fails. If caps
is not None
, makes sure that the caps of the link is a subset of caps
. ## srcpadname
the name of the Pad
in source element or None
for any pad. ## dest
the Element
containing the destination pad. ## destpadname
the name of the Pad
in destination element or None
for any pad. ## filter
the Caps
to filter the link, or None
for no filter. Read more
fn link_pads_full<P>(
&self,
srcpadname: Option<&str>,
dest: &P,
destpadname: Option<&str>,
flags: PadLinkCheck
) -> Result<(), BoolError> where
P: IsA<Element>,
[src][−]
&self,
srcpadname: Option<&str>,
dest: &P,
destpadname: Option<&str>,
flags: PadLinkCheck
) -> Result<(), BoolError> where
P: IsA<Element>,
Links the two named pads of the source and destination elements. Side effect is that if one of the pads has no parent, it becomes a child of the parent of the other element. If they have different parents, the link fails. Read more
fn lost_state(&self)
[src][−]
Brings the element to the lost state. The current state of the element is copied to the pending state so that any call to Element::get_state
will return StateChangeReturn::Async
. Read more
fn no_more_pads(&self)
[src][−]
Use this function to signal that the element does not expect any more pads to show up in the current pipeline. This function should be called whenever pads have been added by the element itself. Elements with PadPresence::Sometimes
pad templates use this in combination with autopluggers to figure out that the element is done initializing its pads. Read more
fn post_message(&self, message: &Message) -> Result<(), BoolError>
[src][−]
Post a message on the element's Bus
. This function takes ownership of the message; if you want to access the message after this call, you should add an additional reference before calling. ## message
a Message
to post Read more
fn provide_clock(&self) -> Option<Clock>
[src][−]
Get the clock provided by the given element. > An element is only required to provide a clock in the PAUSED > state. Some elements can provide a clock in other states. Read more
fn release_request_pad<P>(&self, pad: &P) where
P: IsA<Pad>,
[src][−]
P: IsA<Pad>,
Makes the element free the previously requested pad as obtained with ElementExt::request_pad
. Read more
fn remove_pad<P>(&self, pad: &P) -> Result<(), BoolError> where
P: IsA<Pad>,
[src][−]
P: IsA<Pad>,
Removes pad
from self
. pad
will be destroyed if it has not been referenced elsewhere using GstObjectExt::unparent
. Read more
fn request_pad(
&self,
templ: &PadTemplate,
name: Option<&str>,
caps: Option<&Caps>
) -> Option<Pad>
[src][−]
&self,
templ: &PadTemplate,
name: Option<&str>,
caps: Option<&Caps>
) -> Option<Pad>
Retrieves a request pad from the element according to the provided template. Pad templates can be looked up using ElementFactory::get_static_pad_templates
. Read more
fn set_base_time(&self, time: ClockTime)
[src][−]
Set the base time of an element. See ElementExt::get_base_time
. Read more
fn set_bus(&self, bus: Option<&Bus>)
[src][−]
Sets the bus of the element. Increases the refcount on the bus. For internal use only, unless you're testing elements. Read more
fn set_clock<P>(&self, clock: Option<&P>) -> Result<(), BoolError> where
P: IsA<Clock>,
[src][−]
P: IsA<Clock>,
Sets the clock for the element. This function increases the refcount on the clock. Any previously set clock on the object is unreffed. ## clock
the Clock
to set for the element. Read more
fn set_context(&self, context: &Context)
[src][−]
Sets the context of the element. Increases the refcount of the context. Read more
fn set_locked_state(&self, locked_state: bool) -> bool
[src][−]
Locks the state of an element, so state changes of the parent don't affect this element anymore. Read more
fn set_start_time(&self, time: ClockTime)
[src][−]
Set the start time of an element. The start time of the element is the running time of the element when it last went to the PAUSED state. In READY or after a flushing seek, it is set to 0. Read more
fn sync_state_with_parent(&self) -> Result<(), BoolError>
[src][−]
Tries to change the state of the element to the same as its parent. If this function returns false
, the state of element is undefined. Read more
fn unlink<P>(&self, dest: &P) where
P: IsA<Element>,
[src][−]
P: IsA<Element>,
Unlinks all source pads of the source element with all sink pads of the sink element to which they are linked. Read more
fn unlink_pads<P>(&self, srcpadname: &str, dest: &P, destpadname: &str) where
P: IsA<Element>,
[src][−]
P: IsA<Element>,
Unlinks the two named pads of the source and destination elements. Read more
fn connect_no_more_pads<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Send + Sync + Fn(&O),
[src][−]
F: 'static + Send + Sync + Fn(&O),
This signals that the element will not generate more dynamic pads. Note that this signal will usually be emitted from the context of the streaming thread. Read more
fn connect_pad_added<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Send + Sync + Fn(&O, &Pad),
[src][−]
F: 'static + Send + Sync + Fn(&O, &Pad),
a new Pad
has been added to the element. Note that this signal will usually be emitted from the context of the streaming thread. Also keep in mind that if you add new elements to the pipeline in the signal handler you will need to set them to the desired target state with Element::set_state
or ElementExt::sync_state_with_parent
. ## new_pad
the pad that has been added Read more
fn connect_pad_removed<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Send + Sync + Fn(&O, &Pad),
[src][−]
F: 'static + Send + Sync + Fn(&O, &Pad),
a Pad
has been removed from the element ## old_pad
the pad that has been removed Read more
impl<O> ElementExtManual for O where
O: IsA<Element>,
[src][+]
O: IsA<Element>,
fn get_element_class(&self) -> &ElementClass
[src]
fn change_state(
&self,
transition: StateChange
) -> Result<StateChangeSuccess, StateChangeError>
[src]
&self,
transition: StateChange
) -> Result<StateChangeSuccess, StateChangeError>
fn continue_state(
&self,
ret: StateChangeReturn
) -> Result<StateChangeSuccess, StateChangeError>
[src]
&self,
ret: StateChangeReturn
) -> Result<StateChangeSuccess, StateChangeError>
fn get_state(
&self,
timeout: ClockTime
) -> (Result<StateChangeSuccess, StateChangeError>, State, State)
[src]
&self,
timeout: ClockTime
) -> (Result<StateChangeSuccess, StateChangeError>, State, State)
fn set_state(
&self,
state: State
) -> Result<StateChangeSuccess, StateChangeError>
[src]
&self,
state: State
) -> Result<StateChangeSuccess, StateChangeError>
fn query(&self, query: &mut QueryRef) -> bool
[src]
fn send_event(&self, event: Event) -> bool
[src]
fn get_metadata<'a>(&self, key: &str) -> Option<&'a str>
[src]
fn get_pad_template(&self, name: &str) -> Option<PadTemplate>
[src]
fn get_pad_template_list(&self) -> Vec<PadTemplate>
[src]
fn set_element_flags(&self, flags: ElementFlags)
[src]
fn unset_element_flags(&self, flags: ElementFlags)
[src]
fn get_element_flags(&self) -> ElementFlags
[src]
fn message_full<T>(
&self,
type_: ElementMessageType,
code: T,
message: Option<&str>,
debug: Option<&str>,
file: &str,
function: &str,
line: u32
) where
T: MessageErrorDomain,
[src]
&self,
type_: ElementMessageType,
code: T,
message: Option<&str>,
debug: Option<&str>,
file: &str,
function: &str,
line: u32
) where
T: MessageErrorDomain,
fn message_full_with_details<T>(
&self,
type_: ElementMessageType,
code: T,
message: Option<&str>,
debug: Option<&str>,
file: &str,
function: &str,
line: u32,
structure: Structure
) where
T: MessageErrorDomain,
[src]
&self,
type_: ElementMessageType,
code: T,
message: Option<&str>,
debug: Option<&str>,
file: &str,
function: &str,
line: u32,
structure: Structure
) where
T: MessageErrorDomain,
fn post_error_message(&self, msg: &ErrorMessage)
[src]
fn iterate_pads(&self) -> Iterator<Pad>
[src]
fn iterate_sink_pads(&self) -> Iterator<Pad>
[src]
fn iterate_src_pads(&self) -> Iterator<Pad>
[src]
fn get_pads(&self) -> Vec<Pad>
[src]
fn get_sink_pads(&self) -> Vec<Pad>
[src]
fn get_src_pads(&self) -> Vec<Pad>
[src]
fn num_pads(&self) -> u16
[src]
fn num_sink_pads(&self) -> u16
[src]
fn num_src_pads(&self) -> u16
[src]
fn add_property_deep_notify_watch(
&self,
property_name: Option<&str>,
include_value: bool
) -> NotifyWatchId
[src]
&self,
property_name: Option<&str>,
include_value: bool
) -> NotifyWatchId
fn add_property_notify_watch(
&self,
property_name: Option<&str>,
include_value: bool
) -> NotifyWatchId
[src]
&self,
property_name: Option<&str>,
include_value: bool
) -> NotifyWatchId
fn remove_property_notify_watch(&self, watch_id: NotifyWatchId)
[src]
fn query_convert<V, U>(&self, src_val: V) -> Option<U> where
U: SpecificFormattedValue,
V: Into<GenericFormattedValue>,
[src]
U: SpecificFormattedValue,
V: Into<GenericFormattedValue>,
fn query_convert_generic<V>(
&self,
src_val: V,
dest_format: Format
) -> Option<GenericFormattedValue> where
V: Into<GenericFormattedValue>,
[src]
&self,
src_val: V,
dest_format: Format
) -> Option<GenericFormattedValue> where
V: Into<GenericFormattedValue>,
fn query_duration<T>(&self) -> Option<T> where
T: SpecificFormattedValue,
[src]
T: SpecificFormattedValue,
fn query_duration_generic(
&self,
format: Format
) -> Option<GenericFormattedValue>
[src]
&self,
format: Format
) -> Option<GenericFormattedValue>
fn query_position<T>(&self) -> Option<T> where
T: SpecificFormattedValue,
[src]
T: SpecificFormattedValue,
fn query_position_generic(
&self,
format: Format
) -> Option<GenericFormattedValue>
[src]
&self,
format: Format
) -> Option<GenericFormattedValue>
fn seek<V>(
&self,
rate: f64,
flags: SeekFlags,
start_type: SeekType,
start: V,
stop_type: SeekType,
stop: V
) -> Result<(), BoolError> where
V: Into<GenericFormattedValue>,
[src]
&self,
rate: f64,
flags: SeekFlags,
start_type: SeekType,
start: V,
stop_type: SeekType,
stop: V
) -> Result<(), BoolError> where
V: Into<GenericFormattedValue>,
fn seek_simple<V>(
&self,
seek_flags: SeekFlags,
seek_pos: V
) -> Result<(), BoolError> where
V: Into<GenericFormattedValue>,
[src]
&self,
seek_flags: SeekFlags,
seek_pos: V
) -> Result<(), BoolError> where
V: Into<GenericFormattedValue>,
fn call_async<F>(&self, func: F) where
F: FnOnce(&O) + Send + 'static,
[src]
F: FnOnce(&O) + Send + 'static,
fn call_async_future<F, T>(
&self,
func: F
) -> Pin<Box<dyn Future<Output = T> + 'static + Send + Unpin>> where
F: FnOnce(&O) -> T + Send + 'static,
T: Send + 'static,
[src]
&self,
func: F
) -> Pin<Box<dyn Future<Output = T> + 'static + Send + Unpin>> where
F: FnOnce(&O) -> T + Send + 'static,
T: Send + 'static,
fn get_current_running_time(&self) -> ClockTime
[src]
fn get_current_clock_time(&self) -> ClockTime
[src]
impl<T> From<T> for T
[src][+]
impl<O> GObjectExtManualGst for O where
O: IsA<Object>,
[src][+]
O: IsA<Object>,
fn set_property_from_str(&self, name: &str, value: &str)
[src]
impl<O> GstObjectExt for O where
O: IsA<Object>,
[src][+]
O: IsA<Object>,
fn default_error(&self, error: &Error, debug: Option<&str>)
[src][−]
A default error function that uses g_printerr
to display the error message and the optional debug string.. Read more
fn get_control_rate(&self) -> ClockTime
[src][−]
Obtain the control-rate for this self
. Audio processing Element
objects will use this rate to sub-divide their processing loop and call GstObjectExt::sync_values
in between. The length of the processing segment should be up to control
-rate nanoseconds. Read more
fn get_name(&self) -> GString
[src][−]
Returns a copy of the name of self
. Caller should g_free
the return value after usage. For a nameless object, this returns None
, which you can safely g_free
as well. Read more
fn get_parent(&self) -> Option<Object>
[src][−]
Returns the parent of self
. This function increases the refcount of the parent object so you should GstObjectExt::unref
it after usage. Read more
fn get_path_string(&self) -> GString
[src][−]
Generates a string describing the path of self
in the object hierarchy. Only useful (or used) for debugging. Read more
fn has_active_control_bindings(&self) -> bool
[src][−]
Check if the self
has active controlled properties. Read more
fn has_ancestor<P>(&self, ancestor: &P) -> bool where
P: IsA<Object>,
[src][−]
P: IsA<Object>,
Check if self
has an ancestor ancestor
somewhere up in the hierarchy. One can e.g. check if a Element
is inside a Pipeline
. Read more
fn has_as_ancestor<P>(&self, ancestor: &P) -> bool where
P: IsA<Object>,
[src][−]
P: IsA<Object>,
Check if self
has an ancestor ancestor
somewhere up in the hierarchy. One can e.g. check if a Element
is inside a Pipeline
. ## ancestor
a Object
to check as ancestor Read more
fn has_as_parent<P>(&self, parent: &P) -> bool where
P: IsA<Object>,
[src][−]
P: IsA<Object>,
Check if parent
is the parent of self
. E.g. a Element
can check if it owns a given Pad
. ## parent
a Object
to check as parent Read more
fn set_control_binding_disabled(&self, property_name: &str, disabled: bool)
[src][−]
This function is used to disable the control bindings on a property for some time, i.e. GstObjectExt::sync_values
will do nothing for the property. ## property_name
property to disable ## disabled
boolean that specifies whether to disable the controller or not. Read more
fn set_control_bindings_disabled(&self, disabled: bool)
[src][−]
This function is used to disable all controlled properties of the self
for some time, i.e. GstObjectExt::sync_values
will do nothing. ## disabled
boolean that specifies whether to disable the controller or not. Read more
fn set_control_rate(&self, control_rate: ClockTime)
[src][−]
Change the control-rate for this self
. Audio processing Element
objects will use this rate to sub-divide their processing loop and call GstObjectExt::sync_values
in between. The length of the processing segment should be up to control
-rate nanoseconds. Read more
fn set_name(&self, name: &str) -> Result<(), BoolError>
[src][−]
Sets the name of self
, or gives self
a guaranteed unique name (if name
is None
). This function makes a copy of the provided name, so the caller retains ownership of the name it sent. ## name
new name of object Read more
fn set_parent<P>(&self, parent: &P) -> Result<(), BoolError> where
P: IsA<Object>,
[src][−]
P: IsA<Object>,
Sets the parent of self
to parent
. The object's reference count will be incremented, and any floating reference will be removed (see Object::ref_sink
). ## parent
new parent of object Read more
fn suggest_next_sync(&self) -> ClockTime
[src][−]
Returns a suggestion for timestamps where buffers should be split to get best controller results. Read more
fn sync_values(&self, timestamp: ClockTime) -> Result<(), BoolError>
[src][−]
Sets the properties of the object, according to the GstControlSources
that (maybe) handle them and for the given timestamp. Read more
fn unparent(&self)
[src][−]
Clear the parent of self
, removing the associated reference. This function decreases the refcount of self
. Read more
fn connect_property_name_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Send + Sync + Fn(&O),
[src]
F: 'static + Send + Sync + Fn(&O),
fn connect_property_parent_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Send + Sync + Fn(&O),
[src]
F: 'static + Send + Sync + Fn(&O),
impl<O> GstObjectExtManual for O where
O: IsA<Object>,
[src][+]
O: IsA<Object>,
fn connect_deep_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Send + Sync + Fn(&O, &Object, &ParamSpec),
[src]
F: 'static + Send + Sync + Fn(&O, &Object, &ParamSpec),
fn set_object_flags(&self, flags: ObjectFlags)
[src]
fn unset_object_flags(&self, flags: ObjectFlags)
[src]
fn get_object_flags(&self) -> ObjectFlags
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> ObjectExt for T where
T: ObjectType,
[src][+]
T: ObjectType,
fn is<U>(&self) -> bool where
U: StaticType,
[src][−]
U: StaticType,
Returns true
if the object is an instance of (can be cast to) T
.
fn get_type(&self) -> Type
[src]
fn get_object_class(&self) -> &ObjectClass
[src]
fn set_property<'a, N>(
&self,
property_name: N,
value: &dyn ToValue
) -> Result<(), BoolError> where
N: Into<&'a str>,
[src]
&self,
property_name: N,
value: &dyn ToValue
) -> Result<(), BoolError> where
N: Into<&'a str>,
fn get_property<'a, N>(&self, property_name: N) -> Result<Value, BoolError> where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
fn block_signal(&self, handler_id: &SignalHandlerId)
[src]
fn unblock_signal(&self, handler_id: &SignalHandlerId)
[src]
fn stop_signal_emission(&self, signal_name: &str)
[src]
fn disconnect(&self, handler_id: SignalHandlerId)
[src]
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Send + Sync + Fn(&T, &ParamSpec),
[src]
F: 'static + Send + Sync + Fn(&T, &ParamSpec),
unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
[src]
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
fn notify<'a, N>(&self, property_name: N) where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
fn notify_by_pspec(&self, pspec: &ParamSpec)
[src]
fn has_property<'a, N>(
&self,
property_name: N,
type_: Option<Type>
) -> Result<(), BoolError> where
N: Into<&'a str>,
[src]
&self,
property_name: N,
type_: Option<Type>
) -> Result<(), BoolError> where
N: Into<&'a str>,
fn get_property_type<'a, N>(&self, property_name: N) -> Option<Type> where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
fn list_properties(&self) -> Vec<ParamSpec>
[src]
fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
[src]
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
fn connect_local<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
[src]
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
unsafe fn connect_unsafe<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
[src]
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
fn emit<'a, N>(
&self,
signal_name: N,
args: &[&dyn ToValue]
) -> Result<Option<Value>, BoolError> where
N: Into<&'a str>,
[src]
&self,
signal_name: N,
args: &[&dyn ToValue]
) -> Result<Option<Value>, BoolError> where
N: Into<&'a str>,
fn downgrade(&self) -> WeakRef<T>
[src]
fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
M: Into<&'a str>,
N: Into<&'a str>,
O: ObjectType,
[src]
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
M: Into<&'a str>,
N: Into<&'a str>,
O: ObjectType,
fn ref_count(&self) -> u32
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *const GList> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src][+]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
[src]
t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
fn to_glib_container_from_slice(
_t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
[src]
_t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
fn to_glib_full_from_slice(_t: &[T]) -> *const GList
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *const GPtrArray> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src][+]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
[src]
t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
fn to_glib_container_from_slice(
_t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
[src]
_t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
fn to_glib_full_from_slice(_t: &[T]) -> *const GPtrArray
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *mut GArray> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src][+]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<Array>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
fn to_glib_container_from_slice(
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
fn to_glib_full_from_slice(t: &[T]) -> *mut GArray
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *mut GList> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src][+]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
[src]
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
fn to_glib_container_from_slice(
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
[src]
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
fn to_glib_full_from_slice(t: &[T]) -> *mut GList
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *mut GPtrArray> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src][+]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
fn to_glib_container_from_slice(
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
fn to_glib_full_from_slice(t: &[T]) -> *mut GPtrArray
[src]
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src][−]
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)
[src][−]
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> ToSendValue for T where
T: ToValue + SetValue + Send + ?Sized,
[src][+]
T: ToValue + SetValue + Send + ?Sized,
fn to_send_value(&self) -> SendValue
[src][−]
Returns a SendValue
clone of self
.
impl<T> ToValue for T where
T: SetValue + ?Sized,
[src][+]
T: SetValue + ?Sized,
fn to_value(&self) -> Value
[src][−]
Returns a Value
clone of self
.
fn to_value_type(&self) -> Type
[src][−]
Returns the type identifer of self
. Read more
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src][−]
Performs the conversion.
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,