[][src]Crate gstreamer_editing_services

Modules

prelude

Structs

Asset

A Asset in the GStreamer Editing Services represents a resources that can be used. In particular, any class that implements the Extractable interface may have some associated assets with a corresponding Asset:extractable-type, from which its objects can be extracted using AssetExt::extract. Some examples would be Clip, Formatter and TrackElement.

AssetClass
BaseEffect

A BaseEffect is some operation that applies an effect to the data it receives.

BaseEffectClass
BaseTransitionClip

Implements

BaseTransitionClipClass
Clip

Clip-s are the core objects of a Layer. Each clip may exist in a single layer but may control several TrackElement-s that span several Track-s. A clip will ensure that all its children share the same TimelineElement:start and TimelineElement:duration in their tracks, which will match the TimelineElement:start and 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.

ClipClass
Container

A Container is a timeline element that controls other TimelineElement-s, which are its children. In particular, it is responsible for maintaining the relative TimelineElement:start and 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.

ContainerClass
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).

EffectClass
Extractable

A gobject::Object that implements the Extractable interface can be extracted from a Asset using AssetExt::extract.

Group

A Group controls one or more Container-s (usually Clip-s, but it can also control other Group-s). Its children must share the same Timeline, but can otherwise lie in separate Layer-s and have different timings.

GroupClass
Layer

Layer-s are responsible for collecting and ordering Clip-s.

LayerClass
OperationClip

Operations are any kind of object that both outputs AND consumes data.

OperationClipClass
Pipeline

A Pipeline can take an audio-video Timeline and conveniently link its Track-s to an internal playsink element, for preview/playback, and an internal encodebin element, for rendering. You can switch between these modes using GESPipelineExt::set_mode.

PipelineClass
PipelineFlags

The various modes a Pipeline can be configured to.

Project

The Project is used to control a set of Asset and is a Asset with GES_TYPE_TIMELINE as extractable_type itself. That means that you can extract Timeline from a project as followed:

ProjectClass
Timeline

Timeline is the central object for any multimedia timeline.

TimelineClass
TimelineElement

A TimelineElement will have some temporal extent in its corresponding TimelineElement:timeline, controlled by its TimelineElement:start and TimelineElement:duration. This determines when its content will be displayed, or its effect applied, in the timeline. Several objects may overlap within a given Timeline, in which case their TimelineElement:priority is used to determine their ordering in the timeline. Priority is mostly handled internally by Layer-s and Clip-s.

TimelineElementClass
Track

A Track acts an output source for a Timeline. Each one essentially provides an additional gst::Pad for the timeline, with Track:restriction-caps capabilities. Internally, a track wraps an nlecomposition filtered by a capsfilter.

TrackClass
TrackElement

A TrackElement is a TimelineElement that specifically belongs to a single Track of its TimelineElement:timeline. Its TimelineElement:start and 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 TrackElementExt::get_nleobject, and its TimelineElement:start, TimelineElement:duration, TimelineElement:in-point, TimelineElement:priority and 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.

TrackElementClass
TrackType

Types of content handled by a track. If the content is not one of TrackType::Audio, TrackType::Video or TrackType::Text, the user of the Track must set the type to TrackType::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.

TransitionClipClass
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

UriClipAssetClass
UriClipClass
UriSourceAsset

Asset to create a stream specific Source for a media file.

UriSourceAssetClass

Enums

Edge

The edges of an object contain in a Timeline or Track

EditMode

When a single timeline element is edited within its timeline at some position, using TimelineElementExt::edit, depending on the edit mode, its TimelineElement:start, TimelineElement:duration or TimelineElement:in-point will be adjusted accordingly. In addition, any clips may change Clip:layer.

VideoStandardTransitionType

Constants

NONE_ASSET
NONE_BASE_EFFECT
NONE_BASE_TRANSITION_CLIP
NONE_CLIP
NONE_CONTAINER
NONE_EFFECT
NONE_EXTRACTABLE
NONE_GROUP
NONE_LAYER
NONE_OPERATION_CLIP
NONE_PIPELINE
NONE_PROJECT
NONE_TIMELINE
NONE_TIMELINE_ELEMENT
NONE_TRACK
NONE_TRACK_ELEMENT
NONE_TRANSITION_CLIP
NONE_URI_CLIP
NONE_URI_CLIP_ASSET
NONE_URI_SOURCE_ASSET

Traits

AssetExt

Trait containing all Asset methods.

BaseEffectExt

Trait containing all BaseEffect methods.

ClipExt

Trait containing all Clip methods.

EffectExt

Trait containing all Effect methods.

ExtractableExt

Trait containing all Extractable methods.

GESContainerExt

Trait containing all Container methods.

GESPipelineExt

Trait containing all Pipeline methods.

GESTrackExt

Trait containing all Track methods.

GroupExt

Trait containing all Group methods.

LayerExt

Trait containing all Layer methods.

ProjectExt

Trait containing all Project methods.

TimelineElementExt

Trait containing all TimelineElement methods.

TimelineElementExtManual
TimelineExt

Trait containing all Timeline methods.

TrackElementExt

Trait containing all TrackElement methods.

TransitionClipExt

Trait containing all TransitionClip methods.

UriClipAssetExt

Trait containing all UriClipAsset methods.

UriClipExt

Trait containing all UriClip methods.

UriSourceAssetExt

Trait containing all UriSourceAsset methods.

Functions

deinit
init

Type Definitions

FrameNumber