[−][src]Trait gstreamer_editing_services::GESTrackExt
Required methods
fn add_element<P: IsA<TrackElement>>(&self, object: &P) -> Result<(), BoolError>
Adds the given object to the track. Sets the object's controlling track,
and thus takes ownership of the object.
An object can only be added to one track.
object
the TrackElement to add
Returns
true if the object was properly added. false if the track does not
want to accept the object.
fn commit(&self) -> bool
Commits all the pending changes of the TrackElement contained in the track.
When timing changes happen in a timeline, the changes are not directly done inside NLE. This method needs to be called so any changes on a clip contained in the timeline actually happen at the media processing level.
Returns
true if something as been commited false if nothing needed
to be commited
fn get_caps(&self) -> Option<Caps>
Get the gst::Caps this track is configured to output.
Returns
The gst::Caps this track is configured to output.
fn get_elements(&self) -> Vec<TrackElement>
Gets the TrackElement contained in self
Returns
the list of
TrackElement present in the Track sorted by priority and start.
fn get_mixing(&self) -> bool
Gets if the underlying NleComposition contains an expandable mixer.
Returns
True if there is a mixer, False otherwise.
fn get_timeline(&self) -> Option<Timeline>
Get the Timeline this track belongs to. Can be None.
Returns
The Timeline this track belongs to. Can be None.
fn remove_element<P: IsA<TrackElement>>(
&self,
object: &P
) -> Result<(), BoolError>
&self,
object: &P
) -> Result<(), BoolError>
Removes the object from the track and unparents it.
Unparenting it means the reference owned by self on the object will be
removed. If you wish to use the object after this function, make sure you
call gst::ObjectExt::ref before removing it from the self.
object
the TrackElement to remove
Returns
true if the object was removed, else false if the track
could not remove the object (like if it didn't belong to the track).
fn set_mixing(&self, mixing: bool)
fn set_restriction_caps(&self, caps: &Caps)
fn set_timeline<P: IsA<Timeline>>(&self, timeline: &P)
fn update_restriction_caps(&self, caps: &Caps)
Updates the restriction caps by modifying all the fields present in caps
in the original restriction caps. If for example the current restriction caps
are video/x-raw, format=I420, width=360 and caps is video/x-raw, format=RGB,
the restriction caps will be updated to video/x-raw, format=RGB, width=360.
Modification happens for each structure in the new caps, and one can add new fields or structures through that function.
caps
the gst::Caps to update with
fn get_property_duration(&self) -> u64
Current duration of the track
Default value: O
fn get_property_restriction_caps(&self) -> Option<Caps>
Caps used to filter/choose the output stream.
Default value: GST_CAPS_ANY.
fn get_property_track_type(&self) -> TrackType
Type of stream the track outputs. This is used when creating the Track
to specify in generic terms what type of content will be outputted.
It also serves as a 'fast' way to check what type of data will be outputted
from the Track without having to actually check the Track's caps
property.
fn connect_commited<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_track_element_added<F: Fn(&Self, &TrackElement) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
Will be emitted after a track element was added to the track.
effect
the TrackElement that was added.
fn connect_track_element_removed<F: Fn(&Self, &TrackElement) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
Will be emitted after a track element was removed from the track.
effect
the TrackElement that was removed.
fn connect_property_duration_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_mixing_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_restriction_caps_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
Implementors
impl<O: IsA<Track>> GESTrackExt for O[src]
fn add_element<P: IsA<TrackElement>>(&self, object: &P) -> Result<(), BoolError>[src]
fn commit(&self) -> bool[src]
fn get_caps(&self) -> Option<Caps>[src]
fn get_elements(&self) -> Vec<TrackElement>[src]
fn get_mixing(&self) -> bool[src]
fn get_timeline(&self) -> Option<Timeline>[src]
fn remove_element<P: IsA<TrackElement>>(
&self,
object: &P
) -> Result<(), BoolError>[src]
&self,
object: &P
) -> Result<(), BoolError>
fn set_mixing(&self, mixing: bool)[src]
fn set_restriction_caps(&self, caps: &Caps)[src]
fn set_timeline<P: IsA<Timeline>>(&self, timeline: &P)[src]
fn update_restriction_caps(&self, caps: &Caps)[src]
fn get_property_duration(&self) -> u64[src]
fn get_property_restriction_caps(&self) -> Option<Caps>[src]
fn get_property_track_type(&self) -> TrackType[src]
fn connect_commited<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId[src]
fn connect_track_element_added<F: Fn(&Self, &TrackElement) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
fn connect_track_element_removed<F: Fn(&Self, &TrackElement) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_duration_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_mixing_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_restriction_caps_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId