Trait gstreamer::prelude::GstBinExt [−][src]
pub trait GstBinExt: 'static {}Show methods
fn add<P: IsA<Element>>(&self, element: &P) -> Result<(), BoolError>; fn find_unlinked_pad(&self, direction: PadDirection) -> Option<Pad>; fn by_interface(&self, iface: Type) -> Option<Element>; fn by_name(&self, name: &str) -> Option<Element>; fn by_name_recurse_up(&self, name: &str) -> Option<Element>; fn suppressed_flags(&self) -> ElementFlags; fn recalculate_latency(&self) -> Result<(), BoolError>; fn remove<P: IsA<Element>>(&self, element: &P) -> Result<(), BoolError>; fn set_suppressed_flags(&self, flags: ElementFlags); fn sync_children_states(&self) -> Result<(), BoolError>; fn is_async_handling(&self) -> bool; fn set_async_handling(&self, async_handling: bool); fn is_message_forward(&self) -> bool; fn set_message_forward(&self, message_forward: bool); fn connect_deep_element_added<F: Fn(&Self, &Bin, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_deep_element_removed<F: Fn(&Self, &Bin, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_element_added<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_element_removed<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_async_handling_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_message_forward_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId;
Required methods
fn add<P: IsA<Element>>(&self, element: &P) -> Result<(), BoolError>
[src]
Adds the given element to the bin. Sets the element’s parent, and thus takes ownership of the element. An element can only be added to one bin.
If the element’s pads are linked to other pads, the pads will be unlinked before the element is added to the bin.
When you add an element to an already-running pipeline, you will have to take care to set the state of the newly-added element to the desired state (usually PLAYING or PAUSED, same you set the pipeline to originally) with
crate::prelude::ElementExt::set_state()
, or usecrate::prelude::ElementExt::sync_state_with_parent()
. The bin or pipeline will not take care of this for you.
MT safe.
element
the crate::Element
to add
Returns
true
if the element could be added, false
if
the bin does not want to accept the element.
fn find_unlinked_pad(&self, direction: PadDirection) -> Option<Pad>
[src]
Recursively looks for elements with an unlinked pad of the given
direction within the specified bin and returns an unlinked pad
if one is found, or None
otherwise. If a pad is found, the caller
owns a reference to it and should use [crate::prelude::GstObjectExt::unref()
] on the
pad when it is not needed any longer.
direction
whether to look for an unlinked source or sink pad
Returns
unlinked pad of the given
direction, None
.
fn by_interface(&self, iface: Type) -> Option<Element>
[src]
Looks for an element inside the bin that implements the given
interface. If such an element is found, it returns the element.
You can cast this element to the given interface afterwards. If you want
all elements that implement the interface, use
[Self::iterate_all_by_interface()
]. This function recurses into child bins.
MT safe. Caller owns returned reference.
iface
the crate::glib::Type
of an interface
Returns
A crate::Element
inside the bin
implementing the interface
fn by_name(&self, name: &str) -> Option<Element>
[src]
Gets the element with the given name from a bin. This function recurses into child bins.
Returns None
if no element with the given name is found in the bin.
MT safe. Caller owns returned reference.
name
the element name to search for
Returns
the crate::Element
with the given
name, or None
fn by_name_recurse_up(&self, name: &str) -> Option<Element>
[src]
Gets the element with the given name from this bin. If the element is not found, a recursion is performed on the parent bin.
Returns None
if:
- no element with the given name is found in the bin
MT safe. Caller owns returned reference.
name
the element name to search for
Returns
the crate::Element
with the given
name, or None
fn suppressed_flags(&self) -> ElementFlags
[src]
v1_10
only.fn recalculate_latency(&self) -> Result<(), BoolError>
[src]
Query self
for the current latency using and reconfigures this latency to all the
elements with a LATENCY event.
This method is typically called on the pipeline when a crate::MessageType::Latency
is posted on the bus.
This function simply emits the ‘do-latency’ signal so any custom latency calculations will be performed.
Returns
true
if the latency could be queried and reconfigured.
fn remove<P: IsA<Element>>(&self, element: &P) -> Result<(), BoolError>
[src]
Removes the element from the bin, unparenting it as well.
Unparenting the element means that the element will be dereferenced,
so if the bin holds the only reference to the element, the element
will be freed in the process of removing it from the bin. If you
want the element to still exist after removing, you need to call
[crate::prelude::GstObjectExt::ref()
] before removing it from the bin.
If the element’s pads are linked to other pads, the pads will be unlinked before the element is removed from the bin.
MT safe.
element
the crate::Element
to remove
Returns
true
if the element could be removed, false
if
the bin does not want to remove the element.
fn set_suppressed_flags(&self, flags: ElementFlags)
[src]
v1_10
only.Suppress the given flags on the bin. crate::ElementFlags
of a
child element are propagated when it is added to the bin.
When suppressed flags are set, those specified flags will
not be propagated to the bin.
MT safe.
flags
the crate::ElementFlags
to suppress
fn sync_children_states(&self) -> Result<(), BoolError>
[src]
Synchronizes the state of every child of self
with the state
of self
. See also crate::prelude::ElementExt::sync_state_with_parent()
.
Returns
true
if syncing the state was successful for all children,
otherwise false
.
fn is_async_handling(&self) -> bool
[src]
fn set_async_handling(&self, async_handling: bool)
[src]
fn is_message_forward(&self) -> bool
[src]
fn set_message_forward(&self, message_forward: bool)
[src]
fn connect_deep_element_added<F: Fn(&Self, &Bin, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
v1_10
only.Will be emitted after the element was added to sub_bin.
sub_bin
the crate::Bin
the element was added to
element
the crate::Element
that was added to sub_bin
fn connect_deep_element_removed<F: Fn(&Self, &Bin, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
v1_10
only.Will be emitted after the element was removed from sub_bin.
sub_bin
the crate::Bin
the element was removed from
element
the crate::Element
that was removed from sub_bin
fn connect_element_added<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
Will be emitted after the element was added to the bin.
element
the crate::Element
that was added to the bin
fn connect_element_removed<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
Will be emitted after the element was removed from the bin.
element
the crate::Element
that was removed from the bin
fn connect_async_handling_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_message_forward_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
Implementors
impl<O: IsA<Bin>> GstBinExt for O
[src]
impl<O: IsA<Bin>> GstBinExt for O
[src]fn add<P: IsA<Element>>(&self, element: &P) -> Result<(), BoolError>
[src]
fn find_unlinked_pad(&self, direction: PadDirection) -> Option<Pad>
[src]
fn by_interface(&self, iface: Type) -> Option<Element>
[src]
fn by_name(&self, name: &str) -> Option<Element>
[src]
fn by_name_recurse_up(&self, name: &str) -> Option<Element>
[src]
fn suppressed_flags(&self) -> ElementFlags
[src]
fn suppressed_flags(&self) -> ElementFlags
[src]v1_10
only.fn recalculate_latency(&self) -> Result<(), BoolError>
[src]
fn remove<P: IsA<Element>>(&self, element: &P) -> Result<(), BoolError>
[src]
fn set_suppressed_flags(&self, flags: ElementFlags)
[src]
fn set_suppressed_flags(&self, flags: ElementFlags)
[src]v1_10
only.fn sync_children_states(&self) -> Result<(), BoolError>
[src]
fn is_async_handling(&self) -> bool
[src]
fn set_async_handling(&self, async_handling: bool)
[src]
fn is_message_forward(&self) -> bool
[src]
fn set_message_forward(&self, message_forward: bool)
[src]
fn connect_deep_element_added<F: Fn(&Self, &Bin, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
fn connect_deep_element_added<F: Fn(&Self, &Bin, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]v1_10
only.fn connect_deep_element_removed<F: Fn(&Self, &Bin, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
fn connect_deep_element_removed<F: Fn(&Self, &Bin, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]v1_10
only.fn connect_element_added<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_element_removed<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_async_handling_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_message_forward_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId