![]() |
![]() |
![]() |
GStreamer Editing Services 1.2.1 Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
#include <ges/ges.h> GESLayer; GESLayerClass; gboolean ges_layer_add_clip (GESLayer *layer
,GESClip *clip
); GESClip * ges_layer_add_asset (GESLayer *layer
,GESAsset *asset
,GstClockTime start
,GstClockTime inpoint
,GstClockTime duration
,GESTrackType track_types
); GESLayer * ges_layer_new (void
); gboolean ges_layer_remove_clip (GESLayer *layer
,GESClip *clip
); void ges_layer_set_priority (GESLayer *layer
,guint priority
); guint ges_layer_get_priority (GESLayer *layer
); GList * ges_layer_get_clips (GESLayer *layer
); GESTimeline * ges_layer_get_timeline (GESLayer *layer
); gboolean ges_layer_get_auto_transition (GESLayer *layer
); void ges_layer_set_auto_transition (GESLayer *layer
,gboolean auto_transition
); gboolean ges_layer_is_empty (GESLayer *layer
); GstClockTime ges_layer_get_duration (GESLayer *layer
); #define GES_TIMELINE_GET_LAYERS (obj) #define GES_TIMELINE_GET_TRACKS (obj)
Responsible for the ordering of the various contained Clip(s). A timeline layer has a "priority" property, which is used to manage the priorities of individual Clips. Two layers should not have the same priority within a given timeline.
typedef struct { GESTimeline *timeline; } GESLayer;
GESTimeline * |
the GESTimeline where this layer is being used. |
typedef struct { /* virtual methods for subclasses */ GList *(*get_objects) (GESLayer * layer); } GESLayerClass;
Subclasses can override the get_objects
if they can provide a more
efficient way of providing the list of contained GESClip(s).
gboolean ges_layer_add_clip (GESLayer *layer
,GESClip *clip
);
Adds the given clip to the layer. Sets the clip's parent, and thus takes ownership of the clip.
An clip can only be added to one layer.
Calling this method will construct and properly set all the media related
elements on clip
. If you need to know when those objects (actually GESTrackElement)
are constructed, you should connect to the container::child-added signal which
is emited right after those elements are ready to be used.
GESClip * ges_layer_add_asset (GESLayer *layer
,GESAsset *asset
,GstClockTime start
,GstClockTime inpoint
,GstClockTime duration
,GESTrackType track_types
);
Creates Clip from asset, adds it to layer and returns a reference to it.
|
a GESLayer |
|
The asset to add to |
|
The start value to set on the new GESClip,
if start == GST_CLOCK_TIME_NONE, it will be set to
the current duration of layer
|
|
The inpoint value to set on the new GESClip |
|
The duration value to set on the new GESClip |
|
The GESTrackType to set on the the new GESClip |
Returns : |
Created GESClip. [transfer none] |
gboolean ges_layer_remove_clip (GESLayer *layer
,GESClip *clip
);
Removes the given clip
from the layer
and unparents it.
Unparenting it means the reference owned by layer
on the clip
will be
removed. If you wish to use the clip
after this function, make sure you
call gst_object_ref()
before removing it from the layer
.
void ges_layer_set_priority (GESLayer *layer
,guint priority
);
Sets the layer to the given priority
. See the documentation of the
priority property for more information.
|
a GESLayer |
|
the priority to set |
guint ges_layer_get_priority (GESLayer *layer
);
Get the priority of layer
within the timeline.
|
a GESLayer |
Returns : |
The priority of the layer within the timeline. |
GList * ges_layer_get_clips (GESLayer *layer
);
Get the clips this layer contains.
GESTimeline * ges_layer_get_timeline (GESLayer *layer
);
Get the GESTimeline in which GESLayer currently is.
|
The GESLayer to get the parent GESTimeline from |
Returns : |
the GESTimeline in which GESLayer
currently is or NULL if not in any timeline yet. [transfer none]
|
gboolean ges_layer_get_auto_transition (GESLayer *layer
);
Gets whether transitions are automatically added when objects overlap or not.
void ges_layer_set_auto_transition (GESLayer *layer
,gboolean auto_transition
);
Sets the layer to the given auto_transition
. See the documentation of the
property auto_transition for more information.
|
a GESLayer |
|
whether the auto_transition is active |
gboolean ges_layer_is_empty (GESLayer *layer
);
Convenience method to check if layer
is empty (doesn't contain any clip),
or not.
GstClockTime ges_layer_get_duration (GESLayer *layer
);
Lets you retrieve the duration of the layer, which means the end time of the last clip inside it
|
The GESLayer to get the duration from |
Returns : |
The duration of a layer |
"auto-transition"
property"auto-transition" gboolean : Read / Write
Sets whether transitions are added automagically when clips overlap.
Default value: FALSE
"priority"
property"priority" guint : Read / Write
The priority of the layer in the GESTimeline. 0 is the highest priority. Conceptually, a GESTimeline is a stack of GESLayers, and the priority of the layer represents its position in the stack. Two layers should not have the same priority within a given GESTimeline.
Default value: 0