Asset | A crate::Asset in the GStreamer Editing Services represents a resources
that can be used. In particular, any class that implements the
crate::Extractable interface may have some associated assets with a
corresponding [crate::Asset:extractable-type ], from which its objects can be
extracted using crate::prelude::AssetExt::extract() . Some examples would be
crate::Clip , [crate::Formatter ] and crate::TrackElement .
|
BaseEffect | A crate::BaseEffect is some operation that applies an effect to the data
it receives.
|
BaseTransitionClip | This is an Abstract Base Class, you cannot instantiate it.
|
Clip | crate::Clip -s are the core objects of a crate::Layer . Each clip may exist in
a single layer but may control several crate::TrackElement -s that span
several crate::Track -s. A clip will ensure that all its children share the
same [crate::TimelineElement:start ] and [crate::TimelineElement:duration ] in
their tracks, which will match the [crate::TimelineElement:start ] and
[crate::TimelineElement:duration ] of the clip itself. Therefore, changing
the timing of the clip will change the timing of the children, and a
change in the timing of a child will change the timing of the clip and
subsequently all its siblings. As such, a clip can be treated as a
singular object in its layer.
|
Container | A crate::Container is a timeline element that controls other
crate::TimelineElement -s, which are its children. In particular, it is
responsible for maintaining the relative [crate::TimelineElement:start ] and
[crate::TimelineElement:duration ] times of its children. Therefore, if a
container is temporally adjusted or moved to a new layer, it may
accordingly adjust and move its children. Similarly, a change in one of
its children may prompt the parent to correspondingly change its
siblings.
|
Effect | Currently we only support effects with N sinkpads and one single srcpad.
Apart from gesaudiomixer and gescompositor which can be used as effects
and where sinkpads will be requested as needed based on the timeline topology
GES will always request at most one sinkpad per effect (when required).
|
Extractable | A crate::glib::object::Object that implements the crate::Extractable interface can be
extracted from a crate::Asset using crate::prelude::AssetExt::extract() .
|
Group | A crate::Group controls one or more crate::Container -s (usually crate::Clip -s,
but it can also control other crate::Group -s). Its children must share
the same crate::Timeline , but can otherwise lie in separate crate::Layer -s
and have different timings.
|
Layer | crate::Layer -s are responsible for collecting and ordering crate::Clip -s.
|
OperationClip | Operations are any kind of object that both outputs AND consumes data.
|
Pipeline | A crate::Pipeline can take an audio-video crate::Timeline and conveniently
link its crate::Track -s to an internal playsink element, for
preview/playback, and an internal encodebin element, for rendering.
You can switch between these modes using crate::prelude::GESPipelineExt::set_mode() .
|
PipelineFlags | The various modes a crate::Pipeline can be configured to.
|
Project | The crate::Project is used to control a set of crate::Asset and is a
crate::Asset with GES_TYPE_TIMELINE as extractable_type itself. That
means that you can extract crate::Timeline from a project as followed:
|
Timeline | crate::Timeline is the central object for any multimedia timeline.
|
TimelineElement | A crate::TimelineElement will have some temporal extent in its
corresponding [crate::TimelineElement:timeline ], controlled by its
[crate::TimelineElement:start ] and [crate::TimelineElement:duration ]. This
determines when its content will be displayed, or its effect applied,
in the timeline. Several objects may overlap within a given
crate::Timeline , in which case their [crate::TimelineElement:priority ] is used
to determine their ordering in the timeline. Priority is mostly handled
internally by crate::Layer -s and crate::Clip -s.
|
Track | A crate::Track acts an output source for a crate::Timeline . Each one
essentially provides an additional crate::gst::Pad for the timeline, with
[crate::Track:restriction-caps ] capabilities. Internally, a track
wraps an nlecomposition filtered by a capsfilter .
|
TrackElement | A crate::TrackElement is a crate::TimelineElement that specifically belongs
to a single crate::Track of its [crate::TimelineElement:timeline ]. Its
[crate::TimelineElement:start ] and [crate::TimelineElement:duration ] specify its
temporal extent in the track. Specifically, a track element wraps some
nleobject, such as an nlesource or nleoperation , which can be
retrieved with [crate::prelude::TrackElementExt::get_nleobject() ], and its
[crate::TimelineElement:start ], [crate::TimelineElement:duration ],
[crate::TimelineElement:in-point ], [crate::TimelineElement:priority ] and
[crate::TrackElement:active ] properties expose the corresponding nleobject
properties. When a track element is added to a track, its nleobject is
added to the corresponding nlecomposition that the track wraps.
|
TrackType | Types of content handled by a track. If the content is not one of
[Self::Audio ], [Self::Video ] or [Self::Text ],
the user of the crate::Track must set the type to [Self::Custom ].
|
TransitionClip | Creates an object that mixes together the two underlying objects, A and B.
The A object is assumed to have a higher prioirity (lower number) than the
B object. At the transition in point, only A will be visible, and by the
end only B will be visible.
|
UriClip | Represents all the output streams from a particular uri. It is assumed that
the URI points to a file of some type.
|
UriClipAsset | Implements
|
UriSourceAsset | Asset to create a stream specific [crate::Source ] for a media file.
|