[][src]Trait gstreamer_editing_services::TimelineElementExt

pub trait TimelineElementExt: 'static {
    fn copy(&self, deep: bool) -> Result<TimelineElement, BoolError>;
fn get_duration(&self) -> ClockTime;
fn get_inpoint(&self) -> ClockTime;
fn get_layer_priority(&self) -> u32;
fn get_max_duration(&self) -> ClockTime;
fn get_name(&self) -> Option<GString>;
fn get_parent(&self) -> Option<TimelineElement>;
fn get_priority(&self) -> u32;
fn get_start(&self) -> ClockTime;
fn get_timeline(&self) -> Option<Timeline>;
fn get_toplevel_parent(&self) -> Option<TimelineElement>;
fn get_track_types(&self) -> TrackType;
fn paste(
        &self,
        paste_position: ClockTime
    ) -> Result<TimelineElement, BoolError>;
fn ripple(&self, start: ClockTime) -> Result<(), BoolError>;
fn ripple_end(&self, end: ClockTime) -> Result<(), BoolError>;
fn roll_end(&self, end: ClockTime) -> Result<(), BoolError>;
fn roll_start(&self, start: ClockTime) -> Result<(), BoolError>;
fn set_duration(&self, duration: ClockTime) -> bool;
fn set_inpoint(&self, inpoint: ClockTime) -> bool;
fn set_max_duration(&self, maxduration: ClockTime) -> bool;
fn set_name(&self, name: Option<&str>) -> Result<(), BoolError>;
fn set_parent<P: IsA<TimelineElement>>(
        &self,
        parent: &P
    ) -> Result<(), BoolError>;
fn set_priority(&self, priority: u32) -> bool;
fn set_start(&self, start: ClockTime) -> bool;
fn set_timeline<P: IsA<Timeline>>(
        &self,
        timeline: &P
    ) -> Result<(), BoolError>;
fn trim(&self, start: ClockTime) -> Result<(), BoolError>;
fn get_property_in_point(&self) -> u64;
fn set_property_in_point(&self, in_point: u64);
fn get_property_serialize(&self) -> bool;
fn set_property_serialize(&self, serialize: bool);
fn connect_property_duration_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_in_point_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_max_duration_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_name_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_parent_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_priority_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_serialize_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_start_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_timeline_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; }

Trait containing all TimelineElement methods.

Implementors

Container, TimelineElement, TrackElement

Required methods

fn copy(&self, deep: bool) -> Result<TimelineElement, BoolError>

Copies self

deep

whether we want to create the elements self contains or not

Returns

The newly create TimelineElement, copied from self

fn get_duration(&self) -> ClockTime

Returns

The duration of self

fn get_inpoint(&self) -> ClockTime

Returns

The inpoint of self

fn get_layer_priority(&self) -> u32

Feature: v1_16

Returns

The priority of the first layer the element is in (note that only groups can span over several layers). GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY means that the element is not in a layer.

fn get_max_duration(&self) -> ClockTime

Returns

The maxduration of self

fn get_name(&self) -> Option<GString>

Returns a copy of the name of self. Caller should g_free the return value after usage.

Returns

The name of self

fn get_parent(&self) -> Option<TimelineElement>

Returns the parent of self. This function increases the refcount of the parent object so you should gst::ObjectExt::unref it after usage.

Returns

parent of self, this can be None if self has no parent. unref after usage.

fn get_priority(&self) -> u32

Returns

The priority of self

fn get_start(&self) -> ClockTime

Returns

The start of self

fn get_timeline(&self) -> Option<Timeline>

Returns the timeline of self. This function increases the refcount of the timeline so you should gst::ObjectExt::unref it after usage.

Returns

timeline of self, this can be None if self has no timeline. unref after usage.

fn get_toplevel_parent(&self) -> Option<TimelineElement>

Gets the toplevel TimelineElement controlling self

Returns

The toplevel controlling parent of self

fn get_track_types(&self) -> TrackType

Gets all the TrackTypes self will interact with

fn paste(&self, paste_position: ClockTime) -> Result<TimelineElement, BoolError>

Paste self inside the timeline. self must have been created using ges_timeline_element_copy with recurse=TRUE set, otherwise it will fail.

paste_position

The position in the timeline the element should be copied to, meaning it will become the start of self

Returns

New element resulting of pasting self or None

fn ripple(&self, start: ClockTime) -> Result<(), BoolError>

Edits self in ripple mode. It allows you to modify the start of self and move the following neighbours accordingly. This will change the overall timeline duration.

start

The new start of self in ripple mode.

Returns

true if the self as been rippled properly, false if an error occured

fn ripple_end(&self, end: ClockTime) -> Result<(), BoolError>

Edits self in ripple mode. It allows you to modify the duration of a self and move the following neighbours accordingly. This will change the overall timeline duration.

end

The new end (start + duration) of self in ripple mode. It will basically only change the duration of self.

Returns

true if the self as been rippled properly, false if an error occured

fn roll_end(&self, end: ClockTime) -> Result<(), BoolError>

Edits self in roll mode. It allows you to modify the duration of a self and trim (basicly change the start + inpoint in this case) the following neighbours accordingly. This will not change the overall timeline duration.

end

The new end (start + duration) of self in roll mode

Returns

true if the self as been rolled properly, false if an error occured

fn roll_start(&self, start: ClockTime) -> Result<(), BoolError>

Edits self in roll mode. It allows you to modify the start and inpoint of a self and "resize" (basicly change the duration in this case) of the previous neighbours accordingly. This will not change the overall timeline duration.

start

The new start of self in roll mode, it will also adapat the in-point of self according

Returns

true if the self as been roll properly, false if an error occured

fn set_duration(&self, duration: ClockTime) -> bool

Set the duration of the object

Note that if the timeline snap-distance property of the timeline containing self is set, self will properly snap to its neighboors.

duration

the duration in gst::ClockTime

Returns

true if duration could be set.

fn set_inpoint(&self, inpoint: ClockTime) -> bool

Set the in-point, that is the moment at which the self will start outputting data from its contents.

inpoint

the in-point in gst::ClockTime

Returns

true if inpoint could be set.

fn set_max_duration(&self, maxduration: ClockTime) -> bool

Set the maximun duration of the object

maxduration

the maximum duration in gst::ClockTime

Returns

true if maxduration could be set.

fn set_name(&self, name: Option<&str>) -> Result<(), BoolError>

Sets the name of object, or gives self a guaranteed unique name (if name is NULL). This function makes a copy of the provided name, so the caller retains ownership of the name it sent.

name

The name self should take (if avalaible<)

fn set_parent<P: IsA<TimelineElement>>(
    &self,
    parent: &P
) -> Result<(), BoolError>

Sets the parent of self to parent. The parents needs to already own a hard reference on self.

parent

new parent of self

Returns

true if parent could be set or false when self already had a parent or self and parent are the same.

fn set_priority(&self, priority: u32) -> bool

Sets the priority of the object within the containing layer

Deprecated

All priority management is done by GES itself now. To set Effect priorities ClipExt::set_top_effect_index should be used.

priority

the priority

Returns

true if priority could be set.

fn set_start(&self, start: ClockTime) -> bool

Set the position of the object in its containing layer.

Note that if the snapping-distance property of the timeline containing self is set, self will properly snap to the edges around start.

start

the position in gst::ClockTime

Returns

true if start could be set.

fn set_timeline<P: IsA<Timeline>>(&self, timeline: &P) -> Result<(), BoolError>

Sets the timeline of self to timeline.

timeline

The Timeline self is in

Returns

true if timeline could be set or false when timeline already had a timeline.

fn trim(&self, start: ClockTime) -> Result<(), BoolError>

Edits self in trim mode. It allows you to modify the inpoint and start of self. This will not change the overall timeline duration.

Note that to trim the end of an self you can just set its duration. The same way as this method, it will take into account the snapping-distance property of the timeline in which self is.

start

The new start of self in trim mode, will adapt the inpoint of self accordingly

Returns

true if the self as been trimmed properly, false if an error occured

fn get_property_in_point(&self) -> u64

The in-point at which this TimelineElement will start outputting data from its contents (in nanoseconds).

Ex : an in-point of 5 seconds means that the first outputted buffer will be the one located 5 seconds in the controlled resource.

fn set_property_in_point(&self, in_point: u64)

The in-point at which this TimelineElement will start outputting data from its contents (in nanoseconds).

Ex : an in-point of 5 seconds means that the first outputted buffer will be the one located 5 seconds in the controlled resource.

fn get_property_serialize(&self) -> bool

Whether the element should be serialized.

fn set_property_serialize(&self, serialize: bool)

Whether the element should be serialized.

fn connect_property_duration_notify<F: Fn(&Self) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

fn connect_property_in_point_notify<F: Fn(&Self) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

fn connect_property_max_duration_notify<F: Fn(&Self) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

fn connect_property_name_notify<F: Fn(&Self) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

fn connect_property_parent_notify<F: Fn(&Self) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

fn connect_property_priority_notify<F: Fn(&Self) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

fn connect_property_serialize_notify<F: Fn(&Self) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

fn connect_property_start_notify<F: Fn(&Self) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

fn connect_property_timeline_notify<F: Fn(&Self) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

Loading content...

Implementors

impl<O: IsA<TimelineElement>> TimelineElementExt for O[src]

Loading content...