diff --git a/docs/libs/doc-registry.xml b/docs/libs/doc-registry.xml
new file mode 100644
index 0000000000..bedac4f5a2
Binary files /dev/null and b/docs/libs/doc-registry.xml differ
diff --git a/docs/libs/ges-decl-list.txt.bak b/docs/libs/ges-decl-list.txt.bak
new file mode 100644
index 0000000000..bda47d4db5
--- /dev/null
+++ b/docs/libs/ges-decl-list.txt.bak
@@ -0,0 +1,294 @@
+
+ges-timeline-source
+GESTimelineSource
+GESTimelineSource
+GESTimelineSourceClass
+ges_timeline_source_new
+
+GES_TIMELINE_SOURCE
+GES_IS_TIMELINE_SOURCE
+GES_TYPE_TIMELINE_SOURCE
+ges_timeline_source_get_type
+GES_TIMELINE_SOURCE_CLASS
+GES_IS_TIMELINE_SOURCE_CLASS
+GES_TIMELINE_SOURCE_GET_CLASS
+
+
+
+ges-timeline-transition
+GESTimelineTransition
+GESTimelineTransition
+GESTimelineTransitionClass
+ges_timeline_transition_new
+
+GES_TIMELINE_TRANSITION
+GES_IS_TIMELINE_TRANSITION
+GES_TYPE_TIMELINE_TRANSITION
+ges_timeline_transition_get_type
+GES_TIMELINE_TRANSITION_CLASS
+GES_IS_TIMELINE_TRANSITION_CLASS
+GES_TIMELINE_TRANSITION_GET_CLASS
+
+
+
+ges-track-source
+GESTrackSource
+GESTrackSource
+GESTrackSourceClass
+ges_track_source_new
+
+GES_TRACK_SOURCE
+GES_IS_TRACK_SOURCE
+GES_TYPE_TRACK_SOURCE
+ges_track_source_get_type
+GES_TRACK_SOURCE_CLASS
+GES_IS_TRACK_SOURCE_CLASS
+GES_TRACK_SOURCE_GET_CLASS
+
+
+
+ges-track
+GESTrack
+GES_TYPE_TRACK_TYPE
+GESTrackType
+GESTrack
+GESTrackClass
+ges_track_get_type
+ges_track_new
+ges_track_set_timeline
+ges_track_set_caps
+ges_track_add_object
+ges_track_remove_object
+ges_track_video_raw_new
+ges_track_audio_raw_new
+
+GES_TRACK
+GES_IS_TRACK
+GES_TYPE_TRACK
+ges_track_type_get_type
+GES_TRACK_CLASS
+GES_IS_TRACK_CLASS
+GES_TRACK_GET_CLASS
+
+
+
+ges-timeline
+GESTimeline
+GESTimeline
+GESTimelineClass
+ges_timeline_new
+ges_timeline_load_from_uri
+ges_timeline_save
+ges_timeline_add_layer
+ges_timeline_remove_layer
+ges_timeline_add_track
+ges_timeline_remove_track
+ges_timeline_get_track_for_pad
+ges_timeline_get_tracks
+
+GES_TIMELINE
+GES_IS_TIMELINE
+GES_TYPE_TIMELINE
+ges_timeline_get_type
+GES_TIMELINE_CLASS
+GES_IS_TIMELINE_CLASS
+GES_TIMELINE_GET_CLASS
+
+
+
+ges-timeline-object
+GESTimelineObject
+FillTrackObjectFunc
+GES_TIMELINE_OBJECT_START
+GES_TIMELINE_OBJECT_INPOINT
+GES_TIMELINE_OBJECT_DURATION
+GES_TIMELINE_OBJECT_PRIORITY
+GESTimelineObject
+GESTimelineObjectClass
+ges_timeline_object_set_start
+ges_timeline_object_set_inpoint
+ges_timeline_object_set_duration
+ges_timeline_object_set_priority
+ges_timeline_object_set_layer
+ges_timeline_object_create_track_object
+ges_timeline_object_release_track_object
+ges_timeline_object_fill_track_object
+ges_timeline_object_find_track_object
+
+GES_TIMELINE_OBJECT
+GES_IS_TIMELINE_OBJECT
+GES_TYPE_TIMELINE_OBJECT
+ges_timeline_object_get_type
+GES_TIMELINE_OBJECT_CLASS
+GES_IS_TIMELINE_OBJECT_CLASS
+GES_TIMELINE_OBJECT_GET_CLASS
+
+
+
+ges-simple-timeline-layer
+GESSimpleTimelineLayer
+GESSimpleTimelineLayer
+GESSimpleTimelineLayerClass
+ges_simple_timeline_layer_new
+ges_simple_timeline_layer_add_object
+ges_simple_timeline_layer_move_object
+
+GES_SIMPLE_TIMELINE_LAYER
+GES_IS_SIMPLE_TIMELINE_LAYER
+GES_TYPE_SIMPLE_TIMELINE_LAYER
+ges_simple_timeline_layer_get_type
+GES_SIMPLE_TIMELINE_LAYER_CLASS
+GES_IS_SIMPLE_TIMELINE_LAYER_CLASS
+GES_SIMPLE_TIMELINE_LAYER_GET_CLASS
+
+
+
+ges-timeline-layer
+GESTimelineLayer
+GESTimelineLayer
+GESTimelineLayerClass
+ges_timeline_layer_new
+ges_timeline_layer_set_timeline
+ges_timeline_layer_add_object
+ges_timeline_layer_remove_object
+ges_timeline_layer_set_priority
+
+GES_TIMELINE_LAYER
+GES_IS_TIMELINE_LAYER
+GES_TYPE_TIMELINE_LAYER
+ges_timeline_layer_get_type
+GES_TIMELINE_LAYER_CLASS
+GES_IS_TIMELINE_LAYER_CLASS
+GES_TIMELINE_LAYER_GET_CLASS
+
+
+
+ges-timeline-file-source
+GESTimelineFileSource
+GESTimelineFileSource
+GESTimelineFileSourceClass
+ges_timeline_filesource_new
+
+GES_TIMELINE_FILE_SOURCE
+GES_IS_TIMELINE_FILE_SOURCE
+GES_TYPE_TIMELINE_FILE_SOURCE
+ges_tl_filesource_get_type
+GES_TIMELINE_FILE_SOURCE_CLASS
+GES_IS_TIMELINE_FILE_SOURCE_CLASS
+GES_TIMELINE_FILE_SOURCE_GET_CLASS
+
+
+
+ges-track-object
+GESTrackObject
+GES_TRACK_OBJECT_START
+GES_TRACK_OBJECT_INPOINT
+GES_TRACK_OBJECT_DURATION
+GES_TRACK_OBJECT_PRIORITY
+GESTrackObject
+GESTrackObjectClass
+ges_track_object_set_track
+ges_track_object_set_timeline_object
+ges_track_object_set_start_internal
+ges_track_object_set_inpoint_internal
+ges_track_object_set_duration_internal
+ges_track_object_set_priority_internal
+ges_track_object_set_active
+
+GES_TRACK_OBJECT
+GES_IS_TRACK_OBJECT
+GES_TYPE_TRACK_OBJECT
+ges_track_object_get_type
+GES_TRACK_OBJECT_CLASS
+GES_IS_TRACK_OBJECT_CLASS
+GES_TRACK_OBJECT_GET_CLASS
+
+
+
+ges-timeline-pipeline
+GESTimelinePipeline
+GESPipelineFlags
+GESTimelinePipeline
+GESTimelinePipelineClass
+ges_timeline_pipeline_new
+ges_timeline_pipeline_add_timeline
+ges_timeline_pipeline_set_render_settings
+ges_timeline_pipeline_set_mode
+
+GES_TIMELINE_PIPELINE
+GES_IS_TIMELINE_PIPELINE
+GES_TYPE_TIMELINE_PIPELINE
+ges_timeline_pipeline_get_type
+GES_TIMELINE_PIPELINE_CLASS
+GES_IS_TIMELINE_PIPELINE_CLASS
+GES_TIMELINE_PIPELINE_GET_CLASS
+
+
+
+ges-custom-timeline-source
+GESCustomTimelineSource
+FillTrackObjectUserFunc
+GESCustomTimelineSource
+GESCustomTimelineSourceClass
+ges_custom_timeline_source_new
+
+GES_CUSTOM_TIMELINE_SOURCE
+GES_IS_CUSTOM_TIMELINE_SOURCE
+GES_TYPE_CUSTOM_TIMELINE_SOURCE
+ges_cust_timeline_src_get_type
+GES_CUSTOM_TIMELINE_SOURCE_CLASS
+GES_IS_CUSTOM_TIMELINE_SOURCE_CLASS
+GES_CUSTOM_TIMELINE_SOURCE_GET_CLASS
+
+
+
+ges-track-filesource
+GESTrackFileSource
+GESTrackFileSource
+GESTrackFileSourceClass
+ges_track_filesource_new
+
+GES_TRACK_FILESOURCE
+GES_IS_TRACK_FILESOURCE
+GES_TYPE_TRACK_FILESOURCE
+ges_track_filesource_get_type
+GES_TRACK_FILESOURCE_CLASS
+GES_IS_TRACK_FILESOURCE_CLASS
+GES_TRACK_FILESOURCE_GET_CLASS
+
+
+
+ges-types
+GESCustomTimelineSource
+GESCustomTimelineSourceClass
+GESSimpleTimelineLayer
+GESSimpleTimelineLayerClass
+GESTimeline
+GESTimelineClass
+GESTimelineLayer
+GESTimelineLayerClass
+GESTimelineObject
+GESTimelineObjectClass
+GESTimelinePipeline
+GESTimelinePipelineClass
+GESTimelineSource
+GESTimelineSourceClass
+GESTimelineFileSource
+GESTimelineFileSourceClass
+GESTimelineTransition
+GESTimelineTransitionClass
+GESTrack
+GESTrackClass
+GESTrackObject
+GESTrackObjectClass
+GESTrackSource
+GESTrackSourceClass
+GESTrackFileSource
+GESTrackFileSourceClass
+
+
+
+
diff --git a/docs/libs/ges-decl.txt.bak b/docs/libs/ges-decl.txt.bak
new file mode 100644
index 0000000000..9c9b4dba53
--- /dev/null
+++ b/docs/libs/ges-decl.txt.bak
@@ -0,0 +1,1125 @@
+
+GESCustomTimelineSource
+
+
+GESCustomTimelineSourceClass
+
+
+GESSimpleTimelineLayer
+
+
+GESSimpleTimelineLayerClass
+
+
+GESTimeline
+
+
+GESTimelineClass
+
+
+GESTimelineLayer
+
+
+GESTimelineLayerClass
+
+
+GESTimelineObject
+
+
+GESTimelineObjectClass
+
+
+GESTimelinePipeline
+
+
+GESTimelinePipelineClass
+
+
+GESTimelineSource
+
+
+GESTimelineSourceClass
+
+
+GESTimelineFileSource
+
+
+GESTimelineFileSourceClass
+
+
+GESTimelineTransition
+
+
+GESTimelineTransitionClass
+
+
+GESTrack
+
+
+GESTrackClass
+
+
+GESTrackObject
+
+
+GESTrackObjectClass
+
+
+GESTrackSource
+
+
+GESTrackSourceClass
+
+
+GESTrackFileSource
+
+
+GESTrackFileSourceClass
+
+
+GES_TYPE_TIMELINE_SOURCE
+#define GES_TYPE_TIMELINE_SOURCE ges_timeline_source_get_type()
+
+
+GES_TIMELINE_SOURCE
+#define GES_TIMELINE_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_SOURCE, GESTimelineSource))
+
+
+GES_TIMELINE_SOURCE_CLASS
+#define GES_TIMELINE_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_SOURCE, GESTimelineSourceClass))
+
+
+GES_IS_TIMELINE_SOURCE
+#define GES_IS_TIMELINE_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_SOURCE))
+
+
+GES_IS_TIMELINE_SOURCE_CLASS
+#define GES_IS_TIMELINE_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_SOURCE))
+
+
+GES_TIMELINE_SOURCE_GET_CLASS
+#define GES_TIMELINE_SOURCE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_SOURCE, GESTimelineSourceClass))
+
+
+GESTimelineSource
+struct _GESTimelineSource {
+ GESTimelineObject parent;
+};
+
+
+GESTimelineSourceClass
+struct _GESTimelineSourceClass {
+ GESTimelineObjectClass parent_class;
+};
+
+
+ges_timeline_source_get_type
+GType
+void
+
+
+ges_timeline_source_new
+GESTimelineSource*
+void
+
+
+GES_TYPE_TIMELINE_TRANSITION
+#define GES_TYPE_TIMELINE_TRANSITION ges_timeline_transition_get_type()
+
+
+GES_TIMELINE_TRANSITION
+#define GES_TIMELINE_TRANSITION(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_TRANSITION, GESTimelineTransition))
+
+
+GES_TIMELINE_TRANSITION_CLASS
+#define GES_TIMELINE_TRANSITION_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_TRANSITION, GESTimelineTransitionClass))
+
+
+GES_IS_TIMELINE_TRANSITION
+#define GES_IS_TIMELINE_TRANSITION(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_TRANSITION))
+
+
+GES_IS_TIMELINE_TRANSITION_CLASS
+#define GES_IS_TIMELINE_TRANSITION_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_TRANSITION))
+
+
+GES_TIMELINE_TRANSITION_GET_CLASS
+#define GES_TIMELINE_TRANSITION_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_TRANSITION, GESTimelineTransitionClass))
+
+
+GESTimelineTransition
+struct _GESTimelineTransition {
+ GESTimelineObject parent;
+};
+
+
+GESTimelineTransitionClass
+struct _GESTimelineTransitionClass {
+ GESTimelineObjectClass parent_class;
+};
+
+
+ges_timeline_transition_get_type
+GType
+void
+
+
+ges_timeline_transition_new
+GESTimelineTransition*
+void
+
+
+ges_init
+void
+void
+
+
+GES_TYPE_TRACK_SOURCE
+#define GES_TYPE_TRACK_SOURCE ges_track_source_get_type()
+
+
+GES_TRACK_SOURCE
+#define GES_TRACK_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_SOURCE, GESTrackSource))
+
+
+GES_TRACK_SOURCE_CLASS
+#define GES_TRACK_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_SOURCE, GESTrackSourceClass))
+
+
+GES_IS_TRACK_SOURCE
+#define GES_IS_TRACK_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_SOURCE))
+
+
+GES_IS_TRACK_SOURCE_CLASS
+#define GES_IS_TRACK_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_SOURCE))
+
+
+GES_TRACK_SOURCE_GET_CLASS
+#define GES_TRACK_SOURCE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_SOURCE, GESTrackSourceClass))
+
+
+GESTrackSource
+struct _GESTrackSource {
+ GESTrackObject parent;
+};
+
+
+GESTrackSourceClass
+struct _GESTrackSourceClass {
+ GESTrackObjectClass parent_class;
+};
+
+
+ges_track_source_get_type
+GType
+void
+
+
+ges_track_source_new
+GESTrackSource*
+void
+
+
+GES_TYPE_TRACK
+#define GES_TYPE_TRACK ges_track_get_type()
+
+
+GES_TRACK
+#define GES_TRACK(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK, GESTrack))
+
+
+GES_TRACK_CLASS
+#define GES_TRACK_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK, GESTrackClass))
+
+
+GES_IS_TRACK
+#define GES_IS_TRACK(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK))
+
+
+GES_IS_TRACK_CLASS
+#define GES_IS_TRACK_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK))
+
+
+GES_TRACK_GET_CLASS
+#define GES_TRACK_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK, GESTrackClass))
+
+
+GES_TYPE_TRACK_TYPE
+#define GES_TYPE_TRACK_TYPE (ges_track_type_get_type ())
+
+
+ges_track_type_get_type
+GType
+void
+
+
+GESTrackType
+typedef enum {
+ GES_TRACK_TYPE_AUDIO = 0,
+ GES_TRACK_TYPE_VIDEO = 1,
+ GES_TRACK_TYPE_TEXT = 2,
+ GES_TRACK_TYPE_CUSTOM = 3
+} GESTrackType;
+
+
+GESTrack
+struct _GESTrack {
+ GstBin parent;
+
+ /*< public >*/ /* READ-ONLY */
+ GESTrackType type;
+
+ /*< private >*/
+ GESTimeline * timeline;
+
+ GstCaps * caps;
+
+ GstElement * composition; /* The composition associated with this track */
+ GstPad * srcpad; /* The source GhostPad */
+};
+
+
+GESTrackClass
+struct _GESTrackClass {
+ GstBinClass parent_class;
+};
+
+
+ges_track_get_type
+GType
+void
+
+
+ges_track_new
+GESTrack*
+GESTrackType type, GstCaps * caps
+
+
+ges_track_set_timeline
+void
+GESTrack * track, GESTimeline *timeline
+
+
+ges_track_set_caps
+void
+GESTrack * track, const GstCaps * caps
+
+
+ges_track_add_object
+gboolean
+GESTrack * track, GESTrackObject * object
+
+
+ges_track_remove_object
+gboolean
+GESTrack * track, GESTrackObject * object
+
+
+ges_track_video_raw_new
+GESTrack *
+
+
+
+ges_track_audio_raw_new
+GESTrack *
+
+
+
+GES_TYPE_TIMELINE
+#define GES_TYPE_TIMELINE ges_timeline_get_type()
+
+
+GES_TIMELINE
+#define GES_TIMELINE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE, GESTimeline))
+
+
+GES_TIMELINE_CLASS
+#define GES_TIMELINE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE, GESTimelineClass))
+
+
+GES_IS_TIMELINE
+#define GES_IS_TIMELINE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE))
+
+
+GES_IS_TIMELINE_CLASS
+#define GES_IS_TIMELINE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE))
+
+
+GES_TIMELINE_GET_CLASS
+#define GES_TIMELINE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE, GESTimelineClass))
+
+
+GESTimeline
+struct _GESTimeline {
+ GstBin parent;
+
+ /*< private >*/
+ GList *layers; /* A list of GESTimelineLayer sorted by priority */
+ GList *tracks; /* A list of private track data */
+};
+
+
+GESTimelineClass
+struct _GESTimelineClass {
+ GstBinClass parent_class;
+
+ void (*track_added) (GESTimeline *timeline, GESTrack * track);
+ void (*track_removed) (GESTimeline *timeline, GESTrack * track);
+ void (*layer_added) (GESTimeline *timeline, GESTimelineLayer *layer);
+ void (*layer_removed) (GESTimeline *timeline, GESTimelineLayer *layer);
+};
+
+
+ges_timeline_get_type
+GType
+void
+
+
+ges_timeline_new
+GESTimeline*
+void
+
+
+ges_timeline_load_from_uri
+GESTimeline*
+gchar *uri
+
+
+ges_timeline_save
+gboolean
+GESTimeline *timeline, gchar *uri
+
+
+ges_timeline_add_layer
+gboolean
+GESTimeline *timeline, GESTimelineLayer *layer
+
+
+ges_timeline_remove_layer
+gboolean
+GESTimeline *timeline, GESTimelineLayer *layer
+
+
+ges_timeline_add_track
+gboolean
+GESTimeline *timeline, GESTrack *track
+
+
+ges_timeline_remove_track
+gboolean
+GESTimeline *timeline, GESTrack *track
+
+
+ges_timeline_get_track_for_pad
+GESTrack *
+GESTimeline *timeline, GstPad *pad
+
+
+ges_timeline_get_tracks
+GList *
+GESTimeline *timeline
+
+
+GES_TYPE_TIMELINE_OBJECT
+#define GES_TYPE_TIMELINE_OBJECT ges_timeline_object_get_type()
+
+
+GES_TIMELINE_OBJECT
+#define GES_TIMELINE_OBJECT(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_OBJECT, GESTimelineObject))
+
+
+GES_TIMELINE_OBJECT_CLASS
+#define GES_TIMELINE_OBJECT_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_OBJECT, GESTimelineObjectClass))
+
+
+GES_IS_TIMELINE_OBJECT
+#define GES_IS_TIMELINE_OBJECT(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_OBJECT))
+
+
+GES_IS_TIMELINE_OBJECT_CLASS
+#define GES_IS_TIMELINE_OBJECT_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_OBJECT))
+
+
+GES_TIMELINE_OBJECT_GET_CLASS
+#define GES_TIMELINE_OBJECT_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_OBJECT, GESTimelineObjectClass))
+
+
+FillTrackObjectFunc
+gboolean
+GESTimelineObject * object,
+ GESTrackObject * trobject,
+ GstElement * gnlobj
+
+
+GES_TIMELINE_OBJECT_START
+#define GES_TIMELINE_OBJECT_START(obj) (((GESTimelineObject*)obj)->start)
+
+
+GES_TIMELINE_OBJECT_INPOINT
+#define GES_TIMELINE_OBJECT_INPOINT(obj) (((GESTimelineObject*)obj)->inpoint)
+
+
+GES_TIMELINE_OBJECT_DURATION
+#define GES_TIMELINE_OBJECT_DURATION(obj) (((GESTimelineObject*)obj)->duration)
+
+
+GES_TIMELINE_OBJECT_PRIORITY
+#define GES_TIMELINE_OBJECT_PRIORITY(obj) (((GESTimelineObject*)obj)->priority)
+
+
+GESTimelineObject
+struct _GESTimelineObject {
+ GObject parent;
+
+ /*< public >*/
+ GESTimelineLayer * layer;
+
+ /*< private >*/
+ GList *trackobjects; /* A list of TrackObject controlled by this TimelineObject */
+
+ /* start, inpoint, duration and fullduration are in nanoseconds */
+ guint64 start; /* position (in time) of the object in the layer */
+ guint64 inpoint; /* in-point */
+ guint64 duration; /* duration of the object used in the layer */
+ guint32 priority; /* priority of the object in the layer (0:top priority) */
+
+ guint64 fullduration; /* Full usable duration of the object (-1: no duration) */
+};
+
+
+GESTimelineObjectClass
+struct _GESTimelineObjectClass {
+ GObjectClass parent_class;
+
+ GESTrackObject* (*create_track_object) (GESTimelineObject * object,
+ GESTrack * track);
+ /* FIXME : might need a release_track_object */
+ FillTrackObjectFunc fill_track_object;
+ gboolean need_fill_track;
+};
+
+
+ges_timeline_object_get_type
+GType
+void
+
+
+ges_timeline_object_set_start
+void
+GESTimelineObject * object, guint64 start
+
+
+ges_timeline_object_set_inpoint
+void
+GESTimelineObject * object, guint64 inpoint
+
+
+ges_timeline_object_set_duration
+void
+GESTimelineObject * object, guint64 duration
+
+
+ges_timeline_object_set_priority
+void
+GESTimelineObject * object, guint priority
+
+
+ges_timeline_object_set_layer
+void
+GESTimelineObject * object, GESTimelineLayer * layer
+
+
+ges_timeline_object_create_track_object
+GESTrackObject *
+GESTimelineObject * object, GESTrack * track
+
+
+ges_timeline_object_release_track_object
+gboolean
+GESTimelineObject * object, GESTrackObject * trackobject
+
+
+ges_timeline_object_fill_track_object
+gboolean
+GESTimelineObject * object, GESTrackObject * trackobj, GstElement * gnlobj
+
+
+ges_timeline_object_find_track_object
+GESTrackObject *
+GESTimelineObject * object, GESTrack * track
+
+
+GES_TYPE_SIMPLE_TIMELINE_LAYER
+#define GES_TYPE_SIMPLE_TIMELINE_LAYER ges_simple_timeline_layer_get_type()
+
+
+GES_SIMPLE_TIMELINE_LAYER
+#define GES_SIMPLE_TIMELINE_LAYER(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_SIMPLE_TIMELINE_LAYER, GESSimpleTimelineLayer))
+
+
+GES_SIMPLE_TIMELINE_LAYER_CLASS
+#define GES_SIMPLE_TIMELINE_LAYER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_SIMPLE_TIMELINE_LAYER, GESSimpleTimelineLayerClass))
+
+
+GES_IS_SIMPLE_TIMELINE_LAYER
+#define GES_IS_SIMPLE_TIMELINE_LAYER(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_SIMPLE_TIMELINE_LAYER))
+
+
+GES_IS_SIMPLE_TIMELINE_LAYER_CLASS
+#define GES_IS_SIMPLE_TIMELINE_LAYER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_SIMPLE_TIMELINE_LAYER))
+
+
+GES_SIMPLE_TIMELINE_LAYER_GET_CLASS
+#define GES_SIMPLE_TIMELINE_LAYER_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_SIMPLE_TIMELINE_LAYER, GESSimpleTimelineLayerClass))
+
+
+GESSimpleTimelineLayer
+struct _GESSimpleTimelineLayer {
+ GESTimelineLayer parent;
+
+ /*< private >*/
+ /* Sorted list of objects */
+ GList *objects;
+
+ gboolean adding_object;
+};
+
+
+GESSimpleTimelineLayerClass
+struct _GESSimpleTimelineLayerClass {
+ GESTimelineLayerClass parent_class;
+};
+
+
+ges_simple_timeline_layer_get_type
+GType
+void
+
+
+ges_simple_timeline_layer_new
+GESSimpleTimelineLayer*
+void
+
+
+ges_simple_timeline_layer_add_object
+gboolean
+GESSimpleTimelineLayer *layer, GESTimelineObject *object, gint position
+
+
+ges_simple_timeline_layer_move_object
+gboolean
+GESSimpleTimelineLayer *layer, GESTimelineObject *object, gint newposition
+
+
+GES_TYPE_TIMELINE_LAYER
+#define GES_TYPE_TIMELINE_LAYER ges_timeline_layer_get_type()
+
+
+GES_TIMELINE_LAYER
+#define GES_TIMELINE_LAYER(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_LAYER, GESTimelineLayer))
+
+
+GES_TIMELINE_LAYER_CLASS
+#define GES_TIMELINE_LAYER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_LAYER, GESTimelineLayerClass))
+
+
+GES_IS_TIMELINE_LAYER
+#define GES_IS_TIMELINE_LAYER(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_LAYER))
+
+
+GES_IS_TIMELINE_LAYER_CLASS
+#define GES_IS_TIMELINE_LAYER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_LAYER))
+
+
+GES_TIMELINE_LAYER_GET_CLASS
+#define GES_TIMELINE_LAYER_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_LAYER, GESTimelineLayerClass))
+
+
+GESTimelineLayer
+struct _GESTimelineLayer {
+ GObject parent;
+
+ GESTimeline *timeline; /* The timeline where this layer is being used
+ */
+
+ GSList * objects_start; /* The TimelineObjects sorted by start and
+ * priority */
+
+ guint32 priority; /* The priority of the layer within the
+ * containing timeline */
+
+ /*< private >*/
+ guint32 min_gnl_priority, max_gnl_priority;
+};
+
+
+GESTimelineLayerClass
+struct _GESTimelineLayerClass {
+ GObjectClass parent_class;
+
+ /*< signals >*/
+ void (*object_added) (GESTimelineLayer * layer, GESTimelineObject * object);
+ void (*object_removed) (GESTimelineLayer * layer, GESTimelineObject * object);
+};
+
+
+ges_timeline_layer_get_type
+GType
+void
+
+
+ges_timeline_layer_new
+GESTimelineLayer*
+void
+
+
+ges_timeline_layer_set_timeline
+void
+GESTimelineLayer * layer, GESTimeline * timeline
+
+
+ges_timeline_layer_add_object
+gboolean
+GESTimelineLayer * layer, GESTimelineObject * object
+
+
+ges_timeline_layer_remove_object
+gboolean
+GESTimelineLayer * layer, GESTimelineObject * object
+
+
+ges_timeline_layer_set_priority
+void
+GESTimelineLayer * layer, guint priority
+
+
+GES_TYPE_TIMELINE_FILE_SOURCE
+#define GES_TYPE_TIMELINE_FILE_SOURCE ges_tl_filesource_get_type()
+
+
+GES_TIMELINE_FILE_SOURCE
+#define GES_TIMELINE_FILE_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_FILE_SOURCE, GESTimelineFileSource))
+
+
+GES_TIMELINE_FILE_SOURCE_CLASS
+#define GES_TIMELINE_FILE_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_FILE_SOURCE, GESTimelineFileSourceClass))
+
+
+GES_IS_TIMELINE_FILE_SOURCE
+#define GES_IS_TIMELINE_FILE_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_FILE_SOURCE))
+
+
+GES_IS_TIMELINE_FILE_SOURCE_CLASS
+#define GES_IS_TIMELINE_FILE_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_FILE_SOURCE))
+
+
+GES_TIMELINE_FILE_SOURCE_GET_CLASS
+#define GES_TIMELINE_FILE_SOURCE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_FILE_SOURCE, GESTimelineFileSourceClass))
+
+
+GESTimelineFileSource
+struct _GESTimelineFileSource {
+ GESTimelineSource parent;
+
+ /*< private >*/
+ gchar *uri;
+
+ guint64 maxduration;
+
+ gboolean mute;
+};
+
+
+GESTimelineFileSourceClass
+struct _GESTimelineFileSourceClass {
+ GESTimelineSourceClass parent_class;
+};
+
+
+ges_tl_filesource_get_type
+GType
+void
+
+
+ges_timeline_filesource_new
+GESTimelineFileSource*
+gchar *uri
+
+
+GES_TYPE_TRACK_OBJECT
+#define GES_TYPE_TRACK_OBJECT ges_track_object_get_type()
+
+
+GES_TRACK_OBJECT
+#define GES_TRACK_OBJECT(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_OBJECT, GESTrackObject))
+
+
+GES_TRACK_OBJECT_CLASS
+#define GES_TRACK_OBJECT_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_OBJECT, GESTrackObjectClass))
+
+
+GES_IS_TRACK_OBJECT
+#define GES_IS_TRACK_OBJECT(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_OBJECT))
+
+
+GES_IS_TRACK_OBJECT_CLASS
+#define GES_IS_TRACK_OBJECT_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_OBJECT))
+
+
+GES_TRACK_OBJECT_GET_CLASS
+#define GES_TRACK_OBJECT_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_OBJECT, GESTrackObjectClass))
+
+
+GES_TRACK_OBJECT_START
+#define GES_TRACK_OBJECT_START(obj) (((GESTrackObject*)obj)->start)
+
+
+GES_TRACK_OBJECT_INPOINT
+#define GES_TRACK_OBJECT_INPOINT(obj) (((GESTrackObject*)obj)->inpoint)
+
+
+GES_TRACK_OBJECT_DURATION
+#define GES_TRACK_OBJECT_DURATION(obj) (((GESTrackObject*)obj)->duration)
+
+
+GES_TRACK_OBJECT_PRIORITY
+#define GES_TRACK_OBJECT_PRIORITY(obj) (((GESTrackObject*)obj)->priority)
+
+
+GESTrackObject
+struct _GESTrackObject {
+ GObject parent;
+
+ /*< public >*/
+ GESTimelineObject *timelineobj;
+ GESTrack *track;
+
+ gboolean valid;
+
+ /* Cached values of the gnlobject properties */
+ guint64 start;
+ guint64 inpoint;
+ guint64 duration;
+ guint32 priority;
+ gboolean active;
+
+ /*< private >*/
+ /* These fields are only used before the gnlobject is available */
+ guint64 pending_start;
+ guint64 pending_inpoint;
+ guint64 pending_duration;
+ guint32 pending_priority;
+ gboolean pending_active;
+
+ GstElement *gnlobject;
+};
+
+
+GESTrackObjectClass
+struct _GESTrackObjectClass {
+ GObjectClass parent_class;
+
+ /*< private >*/
+ /* signals */
+ void (*changed) (GESTrackObject * object);
+
+ /*< public >*/
+ /* virtual methods for subclasses */
+ gboolean (*create_gnl_object) (GESTrackObject * object);
+};
+
+
+ges_track_object_get_type
+GType
+void
+
+
+ges_track_object_set_track
+gboolean
+GESTrackObject * object, GESTrack * track
+
+
+ges_track_object_set_timeline_object
+void
+GESTrackObject * object, GESTimelineObject * tlobject
+
+
+ges_track_object_set_start_internal
+gboolean
+GESTrackObject * object, guint64 start
+
+
+ges_track_object_set_inpoint_internal
+gboolean
+GESTrackObject * object, guint64 inpoint
+
+
+ges_track_object_set_duration_internal
+gboolean
+GESTrackObject * object, guint64 duration
+
+
+ges_track_object_set_priority_internal
+gboolean
+GESTrackObject * object, guint32 priority
+
+
+ges_track_object_set_active
+gboolean
+GESTrackObject * object, gboolean active
+
+
+GES_TYPE_TIMELINE_PIPELINE
+#define GES_TYPE_TIMELINE_PIPELINE ges_timeline_pipeline_get_type()
+
+
+GES_TIMELINE_PIPELINE
+#define GES_TIMELINE_PIPELINE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_PIPELINE, GESTimelinePipeline))
+
+
+GES_TIMELINE_PIPELINE_CLASS
+#define GES_TIMELINE_PIPELINE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_PIPELINE, GESTimelinePipelineClass))
+
+
+GES_IS_TIMELINE_PIPELINE
+#define GES_IS_TIMELINE_PIPELINE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_PIPELINE))
+
+
+GES_IS_TIMELINE_PIPELINE_CLASS
+#define GES_IS_TIMELINE_PIPELINE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_PIPELINE))
+
+
+GES_TIMELINE_PIPELINE_GET_CLASS
+#define GES_TIMELINE_PIPELINE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_PIPELINE, GESTimelinePipelineClass))
+
+
+GESPipelineFlags
+typedef enum {
+ TIMELINE_MODE_PREVIEW_AUDIO = 1 << 0,
+ TIMELINE_MODE_PREVIEW_VIDEO = 1 << 1,
+ TIMELINE_MODE_PREVIEW = TIMELINE_MODE_PREVIEW_AUDIO | TIMELINE_MODE_PREVIEW_VIDEO,
+ TIMELINE_MODE_RENDER = 1 << 2,
+ TIMELINE_MODE_SMART_RENDER = 1 << 3
+} GESPipelineFlags;
+
+
+GESTimelinePipeline
+struct _GESTimelinePipeline {
+ GstPipeline parent;
+
+ /* */
+ GESTimeline * timeline;
+ GstElement * playsink;
+ GstElement * encodebin;
+ /* Note : urisink is only created when a URI has been provided */
+ GstElement * urisink;
+
+ GESPipelineFlags mode;
+
+ GList *chains;
+
+ GstEncodingProfile *profile;
+};
+
+
+GESTimelinePipelineClass
+struct _GESTimelinePipelineClass {
+ GstPipelineClass parent_class;
+};
+
+
+ges_timeline_pipeline_get_type
+GType
+void
+
+
+ges_timeline_pipeline_new
+GESTimelinePipeline*
+void
+
+
+ges_timeline_pipeline_add_timeline
+gboolean
+GESTimelinePipeline * pipeline, GESTimeline * timeline
+
+
+ges_timeline_pipeline_set_render_settings
+gboolean
+GESTimelinePipeline *pipeline, gchar * output_uri, GstEncodingProfile *profile
+
+
+ges_timeline_pipeline_set_mode
+gboolean
+GESTimelinePipeline *pipeline, GESPipelineFlags mode
+
+
+GES_TYPE_CUSTOM_TIMELINE_SOURCE
+#define GES_TYPE_CUSTOM_TIMELINE_SOURCE ges_cust_timeline_src_get_type()
+
+
+GES_CUSTOM_TIMELINE_SOURCE
+#define GES_CUSTOM_TIMELINE_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_CUSTOM_TIMELINE_SOURCE, GESCustomTimelineSource))
+
+
+GES_CUSTOM_TIMELINE_SOURCE_CLASS
+#define GES_CUSTOM_TIMELINE_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_CUSTOM_TIMELINE_SOURCE, GESCustomTimelineSourceClass))
+
+
+GES_IS_CUSTOM_TIMELINE_SOURCE
+#define GES_IS_CUSTOM_TIMELINE_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_CUSTOM_TIMELINE_SOURCE))
+
+
+GES_IS_CUSTOM_TIMELINE_SOURCE_CLASS
+#define GES_IS_CUSTOM_TIMELINE_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_CUSTOM_TIMELINE_SOURCE))
+
+
+GES_CUSTOM_TIMELINE_SOURCE_GET_CLASS
+#define GES_CUSTOM_TIMELINE_SOURCE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_CUSTOM_TIMELINE_SOURCE, GESCustomTimelineSourceClass))
+
+
+FillTrackObjectUserFunc
+gboolean
+GESTimelineObject * object,
+ GESTrackObject * trobject,
+ GstElement * gnlobj,
+ gpointer user_data
+
+
+GESCustomTimelineSource
+struct _GESCustomTimelineSource {
+ GESTimelineSource parent;
+
+ FillTrackObjectUserFunc filltrackobjectfunc;
+ gpointer user_data;
+};
+
+
+GESCustomTimelineSourceClass
+struct _GESCustomTimelineSourceClass {
+ GESTimelineSourceClass parent_class;
+};
+
+
+ges_cust_timeline_src_get_type
+GType
+void
+
+
+ges_custom_timeline_source_new
+GESCustomTimelineSource *
+FillTrackObjectUserFunc func, gpointer user_data
+
+
+GES_TYPE_TRACK_FILESOURCE
+#define GES_TYPE_TRACK_FILESOURCE ges_track_filesource_get_type()
+
+
+GES_TRACK_FILESOURCE
+#define GES_TRACK_FILESOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_FILESOURCE, GESTrackFileSource))
+
+
+GES_TRACK_FILESOURCE_CLASS
+#define GES_TRACK_FILESOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_FILESOURCE, GESTrackFileSourceClass))
+
+
+GES_IS_TRACK_FILESOURCE
+#define GES_IS_TRACK_FILESOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_FILESOURCE))
+
+
+GES_IS_TRACK_FILESOURCE_CLASS
+#define GES_IS_TRACK_FILESOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_FILESOURCE))
+
+
+GES_TRACK_FILESOURCE_GET_CLASS
+#define GES_TRACK_FILESOURCE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_FILESOURCE, GESTrackFileSourceClass))
+
+
+GESTrackFileSource
+struct _GESTrackFileSource {
+ GESTrackObject parent;
+
+ /*< public >*/
+ gchar *uri;
+};
+
+
+GESTrackFileSourceClass
+struct _GESTrackFileSourceClass {
+ GESTrackObjectClass parent_class;
+};
+
+
+ges_track_filesource_get_type
+GType
+void
+
+
+ges_track_filesource_new
+GESTrackFileSource*
+gchar *uri
+
diff --git a/docs/libs/ges-sections.txt b/docs/libs/ges-sections.txt
index 4ffeab8b9f..1835e60415 100644
--- a/docs/libs/ges-sections.txt
+++ b/docs/libs/ges-sections.txt
@@ -142,6 +142,7 @@ GES_TYPE_TIMELINE_LAYER
GESTimelineObject
GESTimelineObject
GESTimelineObjectClass
+CreateTrackObjectFunc
FillTrackObjectFunc
GES_TIMELINE_OBJECT_DURATION
GES_TIMELINE_OBJECT_INPOINT
diff --git a/docs/libs/html/GESCustomTimelineSource.html b/docs/libs/html/GESCustomTimelineSource.html
new file mode 100644
index 0000000000..db7c49c8a5
--- /dev/null
+++ b/docs/libs/html/GESCustomTimelineSource.html
@@ -0,0 +1,175 @@
+
+
+
+
+GESCustomTimelineSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESCustomTimelineSource
+GESCustomTimelineSource — Convenience GESTimelineSource
+
+
+
+
+
+
+
+
Details
+
+
GESCustomTimelineSource
+
typedef struct _GESCustomTimelineSource GESCustomTimelineSource;
+
+
+
+
+
+
GESCustomTimelineSourceClass
+
typedef struct {
+ GESTimelineSourceClass parent_class;
+} GESCustomTimelineSourceClass;
+
+
+
+
+
+
+
FillTrackObjectUserFunc ()
+
gboolean (*FillTrackObjectUserFunc) (GESTimelineObject *object
,
+ GESTrackObject *trobject
,
+ GstElement *gnlobj
,
+ gpointer user_data
);
+
+A function that will be called when the GNonLin object of a corresponding
+track object needs to be filled.
+
+
+The implementer of this function shall add the proper GstElement to gnlobj
+using gst_bin_add()
.
+
+
+
+
+
+object
:
+the GESTimelineObject controlling the track object
+
+
+
+trobject
:
+the GESTrackObject
+
+
+
+gnlobj
:
+the GNonLin object that needs to be filled.
+
+
+
+user_data
:
+the gpointer to optional user data
+
+
+
+Returns :
+ TRUE if the implementer succesfully filled the gnlobj
, else FALSE .
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESSimpleTimelineLayer.html b/docs/libs/html/GESSimpleTimelineLayer.html
new file mode 100644
index 0000000000..82cd31eb4c
--- /dev/null
+++ b/docs/libs/html/GESSimpleTimelineLayer.html
@@ -0,0 +1,192 @@
+
+
+
+
+GESSimpleTimelineLayer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESSimpleTimelineLayer
+GESSimpleTimelineLayer — High-level GESTimelineLayer
+
+
+
+
+
+
+
+
Details
+
+
GESSimpleTimelineLayer
+
typedef struct _GESSimpleTimelineLayer GESSimpleTimelineLayer;
+
+
+
+
+
+
GESSimpleTimelineLayerClass
+
typedef struct {
+ GESTimelineLayerClass parent_class;
+} GESSimpleTimelineLayerClass;
+
+
+
+
+
+
+
+
+
ges_simple_timeline_layer_add_object ()
+
gboolean ges_simple_timeline_layer_add_object
+ (GESSimpleTimelineLayer *layer
,
+ GESTimelineObject *object
,
+ gint position
);
+
+Adds the object at the given position in the layer. The position is where
+the object will be inserted. To put the object before all objects, use
+position 0. To put after all objects, use position -1.
+
+
+The layer will steal a reference to the provided object.
+
+
+
+
+
+layer
:
+a GESSimpleTimelineLayer
+
+
+
+object
:
+the GESTimelineObject to add
+
+
+
+position
:
+the position at which to add the object
+
+
+
+Returns :
+ TRUE if the object was successfuly added, else FALSE.
+
+
+
+
+
+
+
+
ges_simple_timeline_layer_move_object ()
+
gboolean ges_simple_timeline_layer_move_object
+ (GESSimpleTimelineLayer *layer
,
+ GESTimelineObject *object
,
+ gint newposition
);
+
+Moves the object to the given position in the layer. To put the object before
+all other objects, use position 0. To put the objects after all objects, use
+position -1.
+
+
+
+
+
+layer
:
+a GESSimpleTimelineLayer
+
+
+
+object
:
+the GESTimelineObject to move
+
+
+
+newposition
:
+the new position at which to move the object
+
+
+
+Returns :
+ TRUE if the object was successfuly moved, else FALSE.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESTimeline.html b/docs/libs/html/GESTimeline.html
new file mode 100644
index 0000000000..64b087fa05
--- /dev/null
+++ b/docs/libs/html/GESTimeline.html
@@ -0,0 +1,505 @@
+
+
+
+
+GESTimeline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESTimeline
+GESTimeline — Multimedia timeline
+
+
+
+
+
+
+
Implemented Interfaces
+
+GESTimeline implements
+ GstChildProxy .
+
+
+
+
Description
+
+GESTimeline is the central object for any multimedia timeline.
+
+
+Contains a list of GESTimelineLayer which users should use to arrange the
+various timeline objects through time.
+
+
+The output type is determined by the GESTimelineTrack that are set on
+the GESTimeline .
+
+
+
+
Details
+
+
GESTimeline
+
typedef struct _GESTimeline GESTimeline;
+
+
+
+
+
GESTimelineClass
+
typedef struct {
+ GstBinClass parent_class;
+
+ void (*track_added) (GESTimeline *timeline, GESTrack * track);
+ void (*track_removed) (GESTimeline *timeline, GESTrack * track);
+ void (*layer_added) (GESTimeline *timeline, GESTimelineLayer *layer);
+ void (*layer_removed) (GESTimeline *timeline, GESTimelineLayer *layer);
+} GESTimelineClass;
+
+
+
+
+
+
+
ges_timeline_new ()
+
GESTimeline * ges_timeline_new (void
);
+
+Creates a new empty GESTimeline .
+
+
+
+
+Returns :
+ The new timeline.
+
+
+
+
+
+
+
ges_timeline_add_layer ()
+
gboolean ges_timeline_add_layer (GESTimeline *timeline
,
+ GESTimelineLayer *layer
);
+
+Add the layer to the timeline. The reference to the layer
will be stolen
+by the timeline
.
+
+
+
+
+
+timeline
:
+a GESTimeline
+
+
+
+layer
:
+the GESTimelineLayer to add
+
+
+
+Returns :
+ TRUE if the layer was properly added, else FALSE.
+
+
+
+
+
+
+
+
ges_timeline_remove_layer ()
+
gboolean ges_timeline_remove_layer (GESTimeline *timeline
,
+ GESTimelineLayer *layer
);
+
+Removes the layer from the timeline. The reference that the timeline
holds on
+the layer will be dropped. If you wish to use the layer
after calling this
+method, you need to take a reference before calling.
+
+
+
+
+
+timeline
:
+a GESTimeline
+
+
+
+layer
:
+the GESTimelineLayer to remove
+
+
+
+Returns :
+ TRUE if the layer was properly removed, else FALSE.
+
+
+
+
+
+
+
+
ges_timeline_add_track ()
+
gboolean ges_timeline_add_track (GESTimeline *timeline
,
+ GESTrack *track
);
+
+Add a track to the timeline. The reference to the track will be stolen by the
+pipeline.
+
+
+
+
+
+timeline
:
+a GESTimeline
+
+
+
+track
:
+the GESTrack to add
+
+
+
+Returns :
+ TRUE if the track was properly added, else FALSE.
+
+
+
+
+
+
+
+
ges_timeline_remove_track ()
+
gboolean ges_timeline_remove_track (GESTimeline *timeline
,
+ GESTrack *track
);
+
+Remove the track
from the timeline
. The reference stolen when adding the
+track
will be removed. If you wish to use the track
after calling this
+function you must ensure that you have a reference to it.
+
+
+
+
+
+timeline
:
+a GESTimeline
+
+
+
+track
:
+the GESTrack to remove
+
+
+
+Returns :
+ TRUE if the track
was properly removed, else FALSE.
+
+
+
+
+
+
+
+
ges_timeline_get_track_for_pad ()
+
GESTrack * ges_timeline_get_track_for_pad (GESTimeline *timeline
,
+ GstPad *pad
);
+
+Search the GESTrack corresponding to the given timeline
's pad
.
+
+
+
+
+
+timeline
:
+The GESTimeline
+
+
+
+pad
:
+The GstPad
+
+
+
+Returns :
+ The corresponding GESTrack if it is found, or NULL if there is
+an error.
+
+
+
+
+
+
+
+
ges_timeline_load_from_uri ()
+
GESTimeline * ges_timeline_load_from_uri (gchar *uri
);
+
+Creates a timeline from the contents of given uri.
+
+
+NOT_IMPLEMENTED !
+
+
+
+
+
+uri
:
+The URI to load from
+
+
+
+Returns :
+ A new GESTimeline if loading was successful, else NULL.
+
+
+
+
+
+
+
+
ges_timeline_save ()
+
gboolean ges_timeline_save (GESTimeline *timeline
,
+ gchar *uri
);
+
+Saves the timeline to the given location
+
+
+NOT_IMPLEMENTED !
+
+
+
+
+
+timeline
:
+a GESTimeline
+
+
+
+uri
:
+The location to save to
+
+
+
+Returns :
+ TRUE if the timeline was successfully saved to the given location,
+else FALSE.
+
+
+
+
+
+
+
+
ges_timeline_get_tracks ()
+
GList * ges_timeline_get_tracks (GESTimeline *timeline
);
+
+
+
+
+
+
+timeline
:
+
+
+
+
+Returns :
+
+
+
+
+
+
+
+
+
Signal Details
+
+
The "layer-added"
signal
+
void user_function (GESTimeline *timeline,
+ GESTimelineLayer *layer,
+ gpointer user_data) : Run First
+
+Will be emitted after the layer was added to the timeline.
+
+
+
+
+
+timeline
:
+the GESTimeline
+
+
+
+layer
:
+the GESTimelineLayer that was added to the timeline
+
+
+
+user_data
:
+user data set when the signal handler was connected.
+
+
+
+
+
+
+
The "layer-removed"
signal
+
void user_function (GESTimeline *timeline,
+ GESTimelineLayer *layer,
+ gpointer user_data) : Run First
+
+Will be emitted after the layer was removed from the timeline.
+
+
+
+
+
+timeline
:
+the GESTimeline
+
+
+
+layer
:
+the GESTimelineLayer that was removed from the timeline
+
+
+
+user_data
:
+user data set when the signal handler was connected.
+
+
+
+
+
+
+
The "track-added"
signal
+
void user_function (GESTimeline *timeline,
+ GESTrack *track,
+ gpointer user_data) : Run First
+
+Will be emitted after the track was added to the timeline.
+
+
+
+
+
+timeline
:
+the GESTimeline
+
+
+
+track
:
+the GESTrack that was added to the timeline
+
+
+
+user_data
:
+user data set when the signal handler was connected.
+
+
+
+
+
+
+
The "track-removed"
signal
+
void user_function (GESTimeline *timeline,
+ GESTrack *track,
+ gpointer user_data) : Run First
+
+Will be emitted after the track was removed from the timeline.
+
+
+
+
+
+timeline
:
+the GESTimeline
+
+
+
+track
:
+the GESTrack that was removed from the timeline
+
+
+
+user_data
:
+user data set when the signal handler was connected.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESTimelineFileSource.html b/docs/libs/html/GESTimelineFileSource.html
new file mode 100644
index 0000000000..c85a1ca4e5
--- /dev/null
+++ b/docs/libs/html/GESTimelineFileSource.html
@@ -0,0 +1,153 @@
+
+
+
+
+GESTimelineFileSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESTimelineFileSource
+GESTimelineFileSource
+
+
+
+
+
+
+
+
+
Details
+
+
GESTimelineFileSource
+
typedef struct _GESTimelineFileSource GESTimelineFileSource;
+
+
+
+
+
+
GESTimelineFileSourceClass
+
typedef struct {
+ GESTimelineSourceClass parent_class;
+} GESTimelineFileSourceClass;
+
+
+
+
+
+
+
+
+
Property Details
+
+
The "max-duration"
property
+
"max-duration" guint64 : Read / Write / Construct
+
+The maximum duration (in nanoseconds) of the file.
+
+
+If not set before adding the object to a layer, it will be discovered
+asynchronously. Connect to 'notify::max-duration' to be notified of it.
+
+
Default value: 18446744073709551615
+
+
+
+
The "mute"
property
+
"mute" gboolean : Read / Write / Construct
+
+Whether the sound will be played or not.
+
+
Default value: FALSE
+
+
+
+
The "uri"
property
+
"uri" gchar * : Read / Write / Construct Only
+
+The location of the file/resource to use.
+
+
Default value: NULL
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESTimelineLayer.html b/docs/libs/html/GESTimelineLayer.html
new file mode 100644
index 0000000000..9fc53c5365
--- /dev/null
+++ b/docs/libs/html/GESTimelineLayer.html
@@ -0,0 +1,289 @@
+
+
+
+
+GESTimelineLayer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESTimelineLayer
+GESTimelineLayer — Non-overlaping sequence of GESTimelineObject
+
+
+
+
+
+
+
+
+
Description
+
+Responsible for the ordering of the various contained TimelineObject(s)
+
+
+
+
Details
+
+
GESTimelineLayer
+
typedef struct _GESTimelineLayer GESTimelineLayer;
+
+
+
+
+
+
GESTimelineLayerClass
+
typedef struct {
+ GObjectClass parent_class;
+
+ /*< signals >*/
+ void (*object_added) (GESTimelineLayer * layer, GESTimelineObject * object);
+ void (*object_removed) (GESTimelineLayer * layer, GESTimelineObject * object);
+} GESTimelineLayerClass;
+
+
+
+
+
+
+
ges_timeline_layer_add_object ()
+
gboolean ges_timeline_layer_add_object (GESTimelineLayer *layer
,
+ GESTimelineObject *object
);
+
+Adds the object to the layer. The layer will steal a reference to the
+provided object.
+
+
+
+
+
+layer
:
+a GESTimelineLayer
+
+
+
+object
:
+the GESTimelineObject to add.
+
+
+
+Returns :
+ TRUE if the object was properly added to the layer, or FALSE
+if the layer
refused to add the object.
+
+
+
+
+
+
+
+
+
+
ges_timeline_layer_remove_object ()
+
gboolean ges_timeline_layer_remove_object (GESTimelineLayer *layer
,
+ GESTimelineObject *object
);
+
+Removes the given object
from the layer
. The reference stolen by the layer
+when the object was added will be removed. If you wish to use the object after
+this function, make sure you take an extra reference to the object before
+calling this function.
+
+
+
+
+
+
ges_timeline_layer_set_priority ()
+
void ges_timeline_layer_set_priority (GESTimelineLayer *layer
,
+ guint priority
);
+
+
+
+
+
+
+layer
:
+
+
+
+
+priority
:
+
+
+
+
+
+
+
+
+
Property Details
+
+
The "priority"
property
+
"priority" guint : Read / Write
+
+The priority of the layer in the GESTimeline . 0 is the highest
+priority.
+
+
Default value: 0
+
+
+
+
Signal Details
+
+
The "object-added"
signal
+
void user_function (GESTimelineLayer *layer,
+ GESTimelineObject *object,
+ gpointer user_data) : Run First
+
+Will be emitted after the object was added to the layer.
+
+
+
+
+
+layer
:
+the GESTimelineLayer
+
+
+
+object
:
+the GESTimelineObject that was added.
+
+
+
+user_data
:
+user data set when the signal handler was connected.
+
+
+
+
+
+
+
The "object-removed"
signal
+
void user_function (GESTimelineLayer *layer,
+ GESTimelineObject *object,
+ gpointer user_data) : Run First
+
+Will be emitted after the object was removed from the layer.
+
+
+
+
+
+layer
:
+the GESTimelineLayer
+
+
+
+object
:
+the GESTimelineObject that was removed
+
+
+
+user_data
:
+user data set when the signal handler was connected.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESTimelineObject.html b/docs/libs/html/GESTimelineObject.html
new file mode 100644
index 0000000000..732c1f3291
--- /dev/null
+++ b/docs/libs/html/GESTimelineObject.html
@@ -0,0 +1,454 @@
+
+
+
+
+GESTimelineObject
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESTimelineObject
+GESTimelineObject — Base Class for objects in a GESTimelineLayer
+
+
+
+
+
+
+
+
Description
+
+Responsible for creating the GESTrackObject (s) for given GESTimelineTrack (s)
+
+
+Keeps a reference to the GESTrackObject (s) it created and sets/updates their properties.
+
+
+
+
Details
+
+
GESTimelineObject
+
typedef struct {
+ GESTimelineLayer * layer;
+} GESTimelineObject;
+
+
+The GESTimelineObject subclass. Subclasses can access these fields.
+
+
+
+
+GESTimelineLayer * layer
;
+the GESTImelineLayer where this object is being used.
+
+
+
+
+
+
+
GESTimelineObjectClass
+
typedef struct {
+ GObjectClass parent_class;
+
+ CreateTrackObjectFunc create_track_object;
+ /* FIXME : might need a release_track_object */
+ FillTrackObjectFunc fill_track_object;
+ gboolean need_fill_track;
+} GESTimelineObjectClass;
+
+
+Subclasses can override the create_track_object
and fill_track_object
methods.
+
+
+
+
+
+
CreateTrackObjectFunc ()
+
GESTrackObject * (*CreateTrackObjectFunc) (GESTimelineObject *object
,
+ GESTrack *track
);
+
+A function that will be called when the object
is added to a
+GESTimelineLayer .
+
+
+The implementer of this function shall return the proper GESTrackObject
+that should be controlled by object
for the given track
.
+
+
+If the object
can't support the media-type of the track
, this function
+should return NULL
.
+
+
+
+
+
+
FillTrackObjectFunc ()
+
gboolean (*FillTrackObjectFunc) (GESTimelineObject *object
,
+ GESTrackObject *trobject
,
+ GstElement *gnlobj
);
+
+A function that will be called when the GNonLin object of a corresponding
+track object needs to be filled.
+
+
+The implementer of this function shall add the proper GstElement to gnlobj
+using gst_bin_add()
.
+
+
+
+
+
+object
:
+the GESTimelineObject controlling the track object
+
+
+
+trobject
:
+the GESTrackObject
+
+
+
+gnlobj
:
+the GNonLin object that needs to be filled.
+
+
+
+Returns :
+ TRUE if the implementer succesfully filled the gnlobj
, else FALSE .
+
+
+
+
+
+
+
+
GES_TIMELINE_OBJECT_DURATION()
+
#define GES_TIMELINE_OBJECT_DURATION(obj) (((GESTimelineObject*)obj)->duration)
+
+
+The duration position of the object (in nanoseconds).
+
+
+
+
+
+
GES_TIMELINE_OBJECT_INPOINT()
+
#define GES_TIMELINE_OBJECT_INPOINT(obj) (((GESTimelineObject*)obj)->inpoint)
+
+
+The in-point of the object (in nanoseconds).
+
+
+
+
+
+
GES_TIMELINE_OBJECT_PRIORITY()
+
#define GES_TIMELINE_OBJECT_PRIORITY(obj) (((GESTimelineObject*)obj)->priority)
+
+
+The priority of the object.
+
+
+
+
+
+
GES_TIMELINE_OBJECT_START()
+
#define GES_TIMELINE_OBJECT_START(obj) (((GESTimelineObject*)obj)->start)
+
+
+The start position of the object (in nanoseconds).
+
+
+
+
+
+
ges_timeline_object_set_inpoint ()
+
void ges_timeline_object_set_inpoint (GESTimelineObject *object
,
+ guint64 inpoint
);
+
+
+
+
+
+
+object
:
+
+
+
+
+inpoint
:
+
+
+
+
+
+
+
+
+
ges_timeline_object_set_start ()
+
void ges_timeline_object_set_start (GESTimelineObject *object
,
+ guint64 start
);
+
+
+
+
+
+
+object
:
+
+
+
+
+start
:
+
+
+
+
+
+
+
+
+
ges_timeline_object_set_duration ()
+
void ges_timeline_object_set_duration (GESTimelineObject *object
,
+ guint64 duration
);
+
+
+
+
+
+
+object
:
+
+
+
+
+duration
:
+
+
+
+
+
+
+
+
+
+
+
Property Details
+
+
The "duration"
property
+
"duration" guint64 : Read / Write
+
+The duration (in nanoseconds) which will be used in the container GESTrack
+starting from 'in-point'.
+
+
Default value: 1000000000
+
+
+
+
The "in-point"
property
+
"in-point" guint64 : Read / Write
+
+The in-point at which this GESTimelineObject 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.
+
+
Default value: 0
+
+
+
+
The "priority"
property
+
"priority" guint : Read / Write
+
The priority of the object.
+
Default value: 0
+
+
+
+
The "start"
property
+
"start" guint64 : Read / Write
+
+The position of the object in the GESTimelineLayer (in nanoseconds).
+
+
Default value: 0
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESTimelinePipeline.html b/docs/libs/html/GESTimelinePipeline.html
new file mode 100644
index 0000000000..a03b21b858
--- /dev/null
+++ b/docs/libs/html/GESTimelinePipeline.html
@@ -0,0 +1,279 @@
+
+
+
+
+GESTimelinePipeline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESTimelinePipeline
+GESTimelinePipeline — Convenience GstPipeline for editing.
+
+
+
+
+
+
+
Implemented Interfaces
+
+GESTimelinePipeline implements
+ GstChildProxy .
+
+
+
Description
+
+GESTimelinePipeline allows developers to view and render GESTimeline
+in a simple fashion.
+Its usage is inspired by the 'playbin' element from gst-plugins-base.
+
+
+
+
Details
+
+
GESTimelinePipeline
+
typedef struct _GESTimelinePipeline GESTimelinePipeline;
+
+
+
+
+
+
GESTimelinePipelineClass
+
typedef struct {
+ GstPipelineClass parent_class;
+} GESTimelinePipelineClass;
+
+
+
+
+
+
+
enum GESPipelineFlags
+
typedef enum {
+ TIMELINE_MODE_PREVIEW_AUDIO = 1 << 0,
+ TIMELINE_MODE_PREVIEW_VIDEO = 1 << 1,
+ TIMELINE_MODE_PREVIEW = TIMELINE_MODE_PREVIEW_AUDIO | TIMELINE_MODE_PREVIEW_VIDEO,
+ TIMELINE_MODE_RENDER = 1 << 2,
+ TIMELINE_MODE_SMART_RENDER = 1 << 3
+} GESPipelineFlags;
+
+
+The various modes the GESTimelinePipeline can be configured to.
+
+
+
+
+
+TIMELINE_MODE_PREVIEW_AUDIO
+output audio to the soundcard
+
+
+
+TIMELINE_MODE_PREVIEW_VIDEO
+output video to the screen
+
+
+
+TIMELINE_MODE_PREVIEW
+output audio/video to soundcard/screen (default)
+
+
+
+TIMELINE_MODE_RENDER
+render timeline (forces decoding)
+
+
+
+TIMELINE_MODE_SMART_RENDER
+render timeline (tries to avoid decoding/reencoding)
+
+
+
+
+
+
+
+
+
+
ges_timeline_pipeline_add_timeline ()
+
gboolean ges_timeline_pipeline_add_timeline (GESTimelinePipeline *pipeline
,
+ GESTimeline *timeline
);
+
+Sets the timeline to use in this pipeline.
+
+
+The reference to the timeline
will be stolen by the pipeline
.
+
+
+
+
+
+pipeline
:
+a GESTimelinePipeline
+
+
+
+timeline
:
+the GESTimeline to set on the pipeline
.
+
+
+
+Returns :
+ TRUE if the timeline
could be successfully set on the pipeline
,
+else FALSE.
+
+
+
+
+
+
+
+
+
+
ges_timeline_pipeline_set_render_settings ()
+
gboolean ges_timeline_pipeline_set_render_settings
+ (GESTimelinePipeline *pipeline
,
+ gchar *output_uri
,
+ GstEncodingProfile *profile
);
+
+Specify where the pipeline shall be rendered and with what settings.
+
+
+This method must be called before setting the pipeline mode to
+TIMELINE_MODE_RENDER
+
+
+
+
+
+pipeline
:
+a GESTimelinePipeline
+
+
+
+output_uri
:
+the URI
to which the timeline will be rendered
+
+
+
+profile
:
+the GstEncodingProfile to use to render the timeline
+
+
+
+Returns :
+ TRUE
if the settings were aknowledged properly, else FALSE
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESTimelineSource.html b/docs/libs/html/GESTimelineSource.html
new file mode 100644
index 0000000000..86c9338a2d
--- /dev/null
+++ b/docs/libs/html/GESTimelineSource.html
@@ -0,0 +1,102 @@
+
+
+
+
+GESTimelineSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESTimelineSource
+GESTimelineSource — Base Class for sources of a GESTimelineLayer
+
+
+
+
+
+
+
+
Details
+
+
GESTimelineSource
+
typedef struct _GESTimelineSource GESTimelineSource;
+
+
+
+
+
+
GESTimelineSourceClass
+
typedef struct {
+ GESTimelineObjectClass parent_class;
+} GESTimelineSourceClass;
+
+
+
+
+
+
+
ges_timeline_source_new ()
+
GESTimelineSource * ges_timeline_source_new (void
);
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESTimelineTransition.html b/docs/libs/html/GESTimelineTransition.html
new file mode 100644
index 0000000000..152cd8a89e
--- /dev/null
+++ b/docs/libs/html/GESTimelineTransition.html
@@ -0,0 +1,100 @@
+
+
+
+
+GESTimelineTransition
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESTimelineTransition
+GESTimelineTransition — Base Class for transitions in a GESTimelineLayer
+
+
+
+
+
+
+
+
Details
+
+
GESTimelineTransition
+
typedef struct _GESTimelineTransition GESTimelineTransition;
+
+
+
+
+
+
GESTimelineTransitionClass
+
typedef struct {
+ GESTimelineObjectClass parent_class;
+} GESTimelineTransitionClass;
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESTrack.html b/docs/libs/html/GESTrack.html
new file mode 100644
index 0000000000..8e75ba4e3b
--- /dev/null
+++ b/docs/libs/html/GESTrack.html
@@ -0,0 +1,347 @@
+
+
+
+
+GESTrack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESTrack
+GESTrack — Composition of objects
+
+
+
+
+
+
+
Implemented Interfaces
+
+GESTrack implements
+ GstChildProxy .
+
+
+
+
Description
+
+Corresponds to one output format (i.e. audio OR video).
+
+
+Contains the compatible TrackObject(s).
+
+
+Wraps GNonLin's 'gnlcomposition' element.
+
+
+
+
Details
+
+
GESTrack
+
typedef struct {
+ GESTrackType type;
+} GESTrack;
+
+
+
+
+
+
+
enum GESTrackType
+
typedef enum {
+ GES_TRACK_TYPE_AUDIO = 0,
+ GES_TRACK_TYPE_VIDEO = 1,
+ GES_TRACK_TYPE_TEXT = 2,
+ GES_TRACK_TYPE_CUSTOM = 3
+} GESTrackType;
+
+
+Types of content handled by a track. If the content is not one of
+GEST_TRACK_TYPE_AUDIO
, GES_TRACK_TYPE_VIDEO
or GES_TRACK_TYPE_TEXT
,
+the user of the GESTrack must set the type to GES_TRACK_TYPE_CUSTOM
.
+
+
+
+
+
+GES_TRACK_TYPE_AUDIO
+An audio track
+
+
+
+GES_TRACK_TYPE_VIDEO
+A video track
+
+
+
+GES_TRACK_TYPE_TEXT
+A text (subtitle) track
+
+
+
+GES_TRACK_TYPE_CUSTOM
+A custom-content track
+
+
+
+
+
+
+
+
GESTrackClass
+
typedef struct {
+ GstBinClass parent_class;
+} GESTrackClass;
+
+
+
+
+
+
+
ges_track_audio_raw_new ()
+
GESTrack * ges_track_audio_raw_new ();
+
+Creates a new GESTrack of type GES_TRACK_TYPE_AUDIO and with generic
+raw audio caps ("audio/x-raw-int;audio/x-raw-float");
+
+
+
+
+
+
ges_track_video_raw_new ()
+
GESTrack * ges_track_video_raw_new ();
+
+Creates a new GESTrack of type GES_TRACK_TYPE_VIDEO and with generic
+raw video caps ("video/x-raw-yuv;video/x-raw-rgb");
+
+
+
+
+
+
ges_track_new ()
+
GESTrack * ges_track_new (GESTrackType type
,
+ GstCaps *caps
);
+
+Creates a new GESTrack with the given type
and caps
.
+
+
+The newly created track will steal a reference to the caps. If you wish to
+use those caps elsewhere, you will have to take an extra reference.
+
+
+
+
+
+type
:
+The type of track
+
+
+
+caps
:
+The caps to restrict the output of the track to.
+
+
+
+Returns :
+ A new GESTrack .
+
+
+
+
+
+
+
+
ges_track_add_object ()
+
gboolean ges_track_add_object (GESTrack *track
,
+ GESTrackObject *object
);
+
+Adds the given object to the track.
+
+
+
+
+
+track
:
+a GESTrack
+
+
+
+object
:
+the GESTrackObject to add
+
+
+
+Returns :
+ TRUE if the object was properly added. FALSE if the track does not
+want to accept the object.
+
+
+
+
+
+
+
+
ges_track_remove_object ()
+
gboolean ges_track_remove_object (GESTrack *track
,
+ GESTrackObject *object
);
+
+Removes the object from the track.
+
+
+
+
+
+track
:
+a GESTrack
+
+
+
+object
:
+the GESTrackObject 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).
+
+
+
+
+
+
+
+
ges_track_set_caps ()
+
void ges_track_set_caps (GESTrack *track
,
+ const GstCaps *caps
);
+
+Sets the given caps
on the track.
+
+
+
+
+
+
Property Details
+
+
The "caps"
property
+
"caps" GstCaps * : Read / Write / Construct
+
+Caps used to filter/choose the output stream. This is generally set to
+a generic set of caps like 'video/x-raw-rgb;video/x-raw-yuv' for raw video.
+
+
+Default value: GST_CAPS_ANY .
+
+
+
+
+
The "track-type"
property
+
"track-type" GESTrackType : Read / Write / Construct Only
+
+Type of stream the track outputs. This is used when creating the GESTrack
+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 GESTrack without having to actually check the GESTrack 's caps
+property.
+
+
Default value: GES_TRACK_TYPE_CUSTOM
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESTrackFileSource.html b/docs/libs/html/GESTrackFileSource.html
new file mode 100644
index 0000000000..6f23c56d18
--- /dev/null
+++ b/docs/libs/html/GESTrackFileSource.html
@@ -0,0 +1,132 @@
+
+
+
+
+GESTrackFileSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESTrackFileSource
+GESTrackFileSource
+
+
+
+
+
+
+
Properties
+
+ "uri " gchar * : Read / Write / Construct Only
+
+
+
+
+
Details
+
+
GESTrackFileSource
+
typedef struct {
+ gchar *uri;
+} GESTrackFileSource;
+
+
+
+
+
+
+
GESTrackFileSourceClass
+
typedef struct {
+ GESTrackObjectClass parent_class;
+} GESTrackFileSourceClass;
+
+
+
+
+
+
+
ges_track_filesource_new ()
+
GESTrackFileSource * ges_track_filesource_new (gchar *uri
);
+
+
+
+
+
+
+uri
:
+
+
+
+
+Returns :
+
+
+
+
+
+
+
+
+
Property Details
+
+
The "uri"
property
+
"uri" gchar * : Read / Write / Construct Only
+
+The location of the file/resource to use.
+
+
Default value: NULL
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESTrackObject.html b/docs/libs/html/GESTrackObject.html
new file mode 100644
index 0000000000..805988e3be
--- /dev/null
+++ b/docs/libs/html/GESTrackObject.html
@@ -0,0 +1,348 @@
+
+
+
+
+GESTrackObject
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESTrackObject
+GESTrackObject — Base Class for objects contained in a GESTrack
+
+
+
+
+
+
+
+
Description
+
+GESTrackObject is the Base Class for any object that can be contained in a
+GESTrack .
+
+
+It contains the basic information as to the location of the object within
+its container, like the start position, the in-point, the duration and the
+priority.
+
+
+
+
Details
+
+
GESTrackObject
+
typedef struct {
+ GESTimelineObject *timelineobj;
+ GESTrack *track;
+
+ gboolean valid;
+
+ /* Cached values of the gnlobject properties */
+ guint64 start;
+ guint64 inpoint;
+ guint64 duration;
+ guint32 priority;
+ gboolean active;
+} GESTrackObject;
+
+
+The GESTrackObject base class. Only sub-classes can access these fields.
+
+
+
+
+
+GESTimelineObject * timelineobj
;
+The GESTimelineObject to which this object belongs.
+
+
+
+GESTrack * track
;
+The GESTrack in which this object is.
+
+
+
+gboolean valid
;
+
+TRUE if the content of the gnlobject
is valid.
+
+
+
+guint64 start
;
+Position (in nanoseconds) of the object the track.
+
+
+
+guint64 inpoint
;
+in-point (in nanoseconds) of the object in the track.
+
+
+
+guint64 duration
;
+Duration of the object
+
+
+
+guint32 priority
;
+Priority of the object in the track (0:top priority)
+
+
+
+gboolean active
;
+Whether the object is to be used or not.
+
+
+
+
+
+
+
+
GESTrackObjectClass
+
typedef struct {
+ GObjectClass parent_class;
+
+ /* virtual methods for subclasses */
+ gboolean (*create_gnl_object) (GESTrackObject * object);
+} GESTrackObjectClass;
+
+
+Subclasses can override the create_gnl_object
method to override what type
+of GNonLin object will be created.
+
+
+
+
+
+GObjectClass parent_class
;
+
+
+
+
+ create_gnl_object
()
+method to create the GNonLin container object.
+
+
+
+
+
+
+
+
GES_TRACK_OBJECT_DURATION()
+
#define GES_TRACK_OBJECT_DURATION(obj) (((GESTrackObject*)obj)->duration)
+
+
+The duration position of the object (in nanoseconds).
+
+
+
+
+
+
GES_TRACK_OBJECT_INPOINT()
+
#define GES_TRACK_OBJECT_INPOINT(obj) (((GESTrackObject*)obj)->inpoint)
+
+
+The in-point of the object (in nanoseconds).
+
+
+
+
+
+
GES_TRACK_OBJECT_PRIORITY()
+
#define GES_TRACK_OBJECT_PRIORITY(obj) (((GESTrackObject*)obj)->priority)
+
+
+The priority of the object (in nanoseconds).
+
+
+
+
+
+
GES_TRACK_OBJECT_START()
+
#define GES_TRACK_OBJECT_START(obj) (((GESTrackObject*)obj)->start)
+
+
+The start position of the object (in nanoseconds).
+
+
+
+
+
+
ges_track_object_set_active ()
+
gboolean ges_track_object_set_active (GESTrackObject *object
,
+ gboolean active
);
+
+
+
+
+
+
+object
:
+
+
+
+
+active
:
+
+
+
+
+Returns :
+
+
+
+
+
+
+
+
+
Property Details
+
+
The "active"
property
+
"active" gboolean : Read / Write
+
+Whether the object should be taken into account in the GEStrack output.
+If FALSE , then its contents will not be used in the resulting track.
+
+
Default value: TRUE
+
+
+
+
The "duration"
property
+
"duration" guint64 : Read / Write
+
+The duration (in nanoseconds) which will be used in the container GESTrack
+starting from 'in-point'.
+
+
Default value: 1000000000
+
+
+
+
The "in-point"
property
+
"in-point" guint64 : Read / Write
+
+The in-point at which this GESTrackObject 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.
+
+
Default value: 0
+
+
+
+
The "priority"
property
+
"priority" guint : Read / Write
+
+The priority of the object within the containing GESTrack .
+If two objects intersect over the same region of time, the priority
+property is used to decide which one takes precedence.
+
+
+The highest priority (that supercedes everything) is 0, and then lowering
+priorities go in increasing numerical value (with G_MAXUINT64 being the
+lowest priority).
+
+
Default value: 0
+
+
+
+
The "start"
property
+
"start" guint64 : Read / Write
+
+The position of the object in the container GESTrack (in nanoseconds).
+
+
Default value: 0
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/GESTrackSource.html b/docs/libs/html/GESTrackSource.html
new file mode 100644
index 0000000000..c9f6938b69
--- /dev/null
+++ b/docs/libs/html/GESTrackSource.html
@@ -0,0 +1,101 @@
+
+
+
+
+GESTrackSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GESTrackSource
+GESTrackSource — Base Class for single-media sources
+
+
+
+
+
+
+
+
Details
+
+
GESTrackSource
+
typedef struct _GESTrackSource GESTrackSource;
+
+
+
+
+
+
GESTrackSourceClass
+
typedef struct {
+ GESTrackObjectClass parent_class;
+} GESTrackSourceClass;
+
+
+
+
+
+
+
ges_track_source_new ()
+
GESTrackSource * ges_track_source_new (void
);
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
new file mode 100644
index 0000000000..c71edc4017
--- /dev/null
+++ b/docs/libs/html/api-index-full.html
@@ -0,0 +1,446 @@
+
+
+
+
+API Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+GStreamer Editing Services 0.10.0.1 Reference Manual
+
+
+
+C
+ |
+ F
+ |
+ I
+ |
+ P
+ |
+ S
+ |
+ T
+
+
+
+
+
C
+
+CreateTrackObjectFunc , user_function in GESTimelineObject
+
+
+
+GESCustomTimelineSource , struct in GESCustomTimelineSource
+
+
+
+GESCustomTimelineSourceClass , struct in GESCustomTimelineSource
+
+
+
+ges_custom_timeline_source_new , function in GESCustomTimelineSource
+
+
+
F
+
+FillTrackObjectFunc , user_function in GESTimelineObject
+
+
+
+FillTrackObjectUserFunc , user_function in GESCustomTimelineSource
+
+
+
I
+
+ges_init , function in Initialization
+
+
+
P
+
+GESPipelineFlags , enum in GESTimelinePipeline
+
+
+
S
+
+GESSimpleTimelineLayer , struct in GESSimpleTimelineLayer
+
+
+
+GESSimpleTimelineLayerClass , struct in GESSimpleTimelineLayer
+
+
+
+ges_simple_timeline_layer_add_object , function in GESSimpleTimelineLayer
+
+
+
+ges_simple_timeline_layer_move_object , function in GESSimpleTimelineLayer
+
+
+
+ges_simple_timeline_layer_new , function in GESSimpleTimelineLayer
+
+
+
T
+
+GESTimeline , struct in GESTimeline
+
+
+
+GESTimeline::layer-added , object signal in GESTimeline
+
+
+
+GESTimeline::layer-removed , object signal in GESTimeline
+
+
+
+GESTimeline::track-added , object signal in GESTimeline
+
+
+
+GESTimeline::track-removed , object signal in GESTimeline
+
+
+
+GESTimelineClass , struct in GESTimeline
+
+
+
+GESTimelineFileSource , struct in GESTimelineFileSource
+
+
+
+GESTimelineFileSource:max-duration , object property in GESTimelineFileSource
+
+
+
+GESTimelineFileSource:mute , object property in GESTimelineFileSource
+
+
+
+GESTimelineFileSource:uri , object property in GESTimelineFileSource
+
+
+
+GESTimelineFileSourceClass , struct in GESTimelineFileSource
+
+
+
+GESTimelineLayer , struct in GESTimelineLayer
+
+
+
+GESTimelineLayer::object-added , object signal in GESTimelineLayer
+
+
+
+GESTimelineLayer::object-removed , object signal in GESTimelineLayer
+
+
+
+GESTimelineLayer:priority , object property in GESTimelineLayer
+
+
+
+GESTimelineLayerClass , struct in GESTimelineLayer
+
+
+
+GESTimelineObject , struct in GESTimelineObject
+
+
+
+GESTimelineObject:duration , object property in GESTimelineObject
+
+
+
+GESTimelineObject:in-point , object property in GESTimelineObject
+
+
+
+GESTimelineObject:priority , object property in GESTimelineObject
+
+
+
+GESTimelineObject:start , object property in GESTimelineObject
+
+
+
+GESTimelineObjectClass , struct in GESTimelineObject
+
+
+
+GESTimelinePipeline , struct in GESTimelinePipeline
+
+
+
+GESTimelinePipelineClass , struct in GESTimelinePipeline
+
+
+
+GESTimelineSource , struct in GESTimelineSource
+
+
+
+GESTimelineSourceClass , struct in GESTimelineSource
+
+
+
+GESTimelineTransition , struct in GESTimelineTransition
+
+
+
+GESTimelineTransitionClass , struct in GESTimelineTransition
+
+
+
+ges_timeline_add_layer , function in GESTimeline
+
+
+
+ges_timeline_add_track , function in GESTimeline
+
+
+
+ges_timeline_filesource_new , function in GESTimelineFileSource
+
+
+
+ges_timeline_get_tracks , function in GESTimeline
+
+
+
+ges_timeline_get_track_for_pad , function in GESTimeline
+
+
+
+ges_timeline_layer_add_object , function in GESTimelineLayer
+
+
+
+ges_timeline_layer_new , function in GESTimelineLayer
+
+
+
+ges_timeline_layer_remove_object , function in GESTimelineLayer
+
+
+
+ges_timeline_layer_set_priority , function in GESTimelineLayer
+
+
+
+ges_timeline_load_from_uri , function in GESTimeline
+
+
+
+ges_timeline_new , function in GESTimeline
+
+
+
+GES_TIMELINE_OBJECT_DURATION , macro in GESTimelineObject
+
+
+
+ges_timeline_object_find_track_object , function in GESTimelineObject
+
+
+
+GES_TIMELINE_OBJECT_INPOINT , macro in GESTimelineObject
+
+
+
+GES_TIMELINE_OBJECT_PRIORITY , macro in GESTimelineObject
+
+
+
+ges_timeline_object_set_duration , function in GESTimelineObject
+
+
+
+ges_timeline_object_set_inpoint , function in GESTimelineObject
+
+
+
+ges_timeline_object_set_start , function in GESTimelineObject
+
+
+
+GES_TIMELINE_OBJECT_START , macro in GESTimelineObject
+
+
+
+ges_timeline_pipeline_add_timeline , function in GESTimelinePipeline
+
+
+
+ges_timeline_pipeline_new , function in GESTimelinePipeline
+
+
+
+ges_timeline_pipeline_set_mode , function in GESTimelinePipeline
+
+
+
+ges_timeline_pipeline_set_render_settings , function in GESTimelinePipeline
+
+
+
+ges_timeline_remove_layer , function in GESTimeline
+
+
+
+ges_timeline_remove_track , function in GESTimeline
+
+
+
+ges_timeline_save , function in GESTimeline
+
+
+
+ges_timeline_source_new , function in GESTimelineSource
+
+
+
+ges_timeline_transition_new , function in GESTimelineTransition
+
+
+
+GESTrack , struct in GESTrack
+
+
+
+GESTrack:caps , object property in GESTrack
+
+
+
+GESTrack:track-type , object property in GESTrack
+
+
+
+GESTrackClass , struct in GESTrack
+
+
+
+GESTrackFileSource , struct in GESTrackFileSource
+
+
+
+GESTrackFileSource:uri , object property in GESTrackFileSource
+
+
+
+GESTrackFileSourceClass , struct in GESTrackFileSource
+
+
+
+GESTrackObject , struct in GESTrackObject
+
+
+
+GESTrackObject:active , object property in GESTrackObject
+
+
+
+GESTrackObject:duration , object property in GESTrackObject
+
+
+
+GESTrackObject:in-point , object property in GESTrackObject
+
+
+
+GESTrackObject:priority , object property in GESTrackObject
+
+
+
+GESTrackObject:start , object property in GESTrackObject
+
+
+
+GESTrackObjectClass , struct in GESTrackObject
+
+
+
+GESTrackSource , struct in GESTrackSource
+
+
+
+GESTrackSourceClass , struct in GESTrackSource
+
+
+
+GESTrackType , enum in GESTrack
+
+
+
+ges_track_add_object , function in GESTrack
+
+
+
+ges_track_audio_raw_new , function in GESTrack
+
+
+
+ges_track_filesource_new , function in GESTrackFileSource
+
+
+
+ges_track_new , function in GESTrack
+
+
+
+GES_TRACK_OBJECT_DURATION , macro in GESTrackObject
+
+
+
+GES_TRACK_OBJECT_INPOINT , macro in GESTrackObject
+
+
+
+GES_TRACK_OBJECT_PRIORITY , macro in GESTrackObject
+
+
+
+ges_track_object_set_active , function in GESTrackObject
+
+
+
+GES_TRACK_OBJECT_START , macro in GESTrackObject
+
+
+
+ges_track_remove_object , function in GESTrack
+
+
+
+ges_track_set_caps , function in GESTrack
+
+
+
+ges_track_source_new , function in GESTrackSource
+
+
+
+ges_track_video_raw_new , function in GESTrack
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/architecture.xml b/docs/libs/html/architecture.xml
new file mode 100644
index 0000000000..0465b5571f
--- /dev/null
+++ b/docs/libs/html/architecture.xml
@@ -0,0 +1,115 @@
+
+
+]>
+
+
+ Overview and architecture
+
+ 1
+
+ GStreamer Editing Services
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Goals of GStreamer Editing Services
+
+ The GStreamer multimedia framework and the accompanying GNonLin set
+ of plugins for non-linear editing offer all the building blocks for:
+
+
+ Decoding and encoding to a wide variety of formats, through
+ all the available GStreamer plugins.
+
+
+
+ Easily choosing segments of streams and arranging them through
+ time through the GNonLin set of plugins.
+
+
+
+ But all those building blocks only offer stream-level access, which
+ results in developers who want to write non-linear editors to write a
+ consequent amount of code to get to the level of non-linear
+ editing notions which are closer and more meaningful for the
+ end-user (and therefore the application).
+
+ The GStreamer Editing Services (hereafter GES) aims
+ to fill the gap between GStreamer/GNonLin and the application developer by
+ offering a series of classes to simplify the creation of many kind of
+ editing-related applications.
+
+
+
+ Architecture
+
+
+ Timeline and TimelinePipeline
+
+ The most top-level object encapsulating every other object is the
+ GESTimeline. It is the central object
+ for any editing project.
+
+ The GESTimeline is a
+ GstElement . It can therefore be used in any
+ GStreamer pipeline like any other object.
+
+ The GESTimeline can contain two types of objects (seen in ):
+
+ Layers - Corresponds to the user-visible layout of
+ non-overlapping objects. A minimalistic timeline would only have
+ one layer. A more complex editing application could use as many as
+ needed.
+
+
+
+ Tracks - Corresponds to the output stream formats. A typical
+ GESTimeline would have a audio track and a video track. An audio
+ editor would only require one single audio Track.
+
+
+
+
+ Layers and Tracks
+
+
+
+
+
+
+
+
+ In order to reduce even more the amount of GStreamer interaction
+ the application developer has to deal with , a convenience GstPipeline
+ has been made available specifically for Timelines : GESTimelinePipeline.
+
+
+
+ Timeline layers
+
+ The layers are the end-user visible part of GES.
+
+
+
+ Timeline Tracks
+
+ The tracks are the GStreamer-level components of a Timeline. They
+ are a 1-to-1 relationship to the output streams.
+
+
+
diff --git a/docs/libs/html/ch01.html b/docs/libs/html/ch01.html
new file mode 100644
index 0000000000..82f6809401
--- /dev/null
+++ b/docs/libs/html/ch01.html
@@ -0,0 +1,49 @@
+
+
+
+
+GStreamer Editing Services Overview
+
+
+
+
+
+
+
+
+
+
+
+
+
+GStreamer Editing Services 0.10.0.1 Reference Manual
+
+
+
+
+ GStreamer Editing Services Overview
+
+
+ The "GStreamer Editing Services" is a library to simplify the creation
+of multimedia editing applications. Based on the GStreamer multimedia framework
+and the GNonLin set of plugins, its goals are to suit all types of editing-related
+applications.
+
+
+ The GStreamer Editing Services are cross-platform and work on most UNIX-like
+platform as well as Windows. It is released under the GNU Library General Public License
+(GNU LGPL).
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/ch02.html b/docs/libs/html/ch02.html
new file mode 100644
index 0000000000..a3f8f9bf14
--- /dev/null
+++ b/docs/libs/html/ch02.html
@@ -0,0 +1,62 @@
+
+
+
+
+Base Classes
+
+
+
+
+
+
+
+
+
+
+
+
+
+GStreamer Editing Services 0.10.0.1 Reference Manual
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/ch03.html b/docs/libs/html/ch03.html
new file mode 100644
index 0000000000..0235a003c6
--- /dev/null
+++ b/docs/libs/html/ch03.html
@@ -0,0 +1,33 @@
+
+
+
+
+Simple Timeline interface
+
+
+
+
+
+
+
+
+
+
+
+
+
+GStreamer Editing Services 0.10.0.1 Reference Manual
+
+
+
+
+ Simple Timeline interface
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/ch04.html b/docs/libs/html/ch04.html
new file mode 100644
index 0000000000..e6135aa77d
--- /dev/null
+++ b/docs/libs/html/ch04.html
@@ -0,0 +1,38 @@
+
+
+
+
+Convenience classes
+
+
+
+
+
+
+
+
+
+
+
+
+
+GStreamer Editing Services 0.10.0.1 Reference Manual
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/ges-Initialization.html b/docs/libs/html/ges-Initialization.html
new file mode 100644
index 0000000000..4addf27e74
--- /dev/null
+++ b/docs/libs/html/ges-Initialization.html
@@ -0,0 +1,65 @@
+
+
+
+
+Initialization
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+GStreamer Editing Services 0.10.0.1 Reference Manual
+
+
+
+Top
+ |
+ Description
+
+
+
+
+
+
+ Initialization
+Initialization — Initialization.
+
+
+
+
+
Synopsis
+
+#include <ges/ges.h>
+
+void ges_init (void
);
+
+
+
+
+
Details
+
+
ges_init ()
+
void ges_init (void
);
+
+Initialize the GStreamer Editing Service. Call this before any usage of
+GES.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/ges-architecture.html b/docs/libs/html/ges-architecture.html
new file mode 100644
index 0000000000..9b327c598b
--- /dev/null
+++ b/docs/libs/html/ges-architecture.html
@@ -0,0 +1,90 @@
+
+
+
+
+Overview and architecture
+
+
+
+
+
+
+
+
+
+
+
+
+
+GStreamer Editing Services 0.10.0.1 Reference Manual
+
+
+
+
+
+
Goals of GStreamer Editing Services
+
The GStreamer multimedia framework and the accompanying GNonLin set
+ of plugins for non-linear editing offer all the building blocks for:
+
+
+Decoding and encoding to a wide variety of formats, through
+ all the available GStreamer plugins.
+Easily choosing segments of streams and arranging them through
+ time through the GNonLin set of plugins.
+
+
But all those building blocks only offer stream-level access, which
+ results in developers who want to write non-linear editors to write a
+ consequent amount of code to get to the level of non-linear
+ editing notions which are closer and more meaningful for the
+ end-user (and therefore the application).
+
The GStreamer Editing Services aims
+ to fill the gap between GStreamer/GNonLin and the application developer by
+ offering a series of classes to simplify the creation of many kind of
+ editing-related applications.
+
+
+
Architecture
+
+
Timeline and TimelinePipeline
+
The most top-level object encapsulating every other object is the
+ GESTimeline . It is the central object
+ for any editing project.
+
The GESTimeline
is a
+ GstElement
. It can therefore be used in any
+ GStreamer pipeline like any other object.
+
The GESTimeline can contain two types of objects (seen in Figure 1, “Layers and Tracks” ):
+
+Layers - Corresponds to the user-visible layout of
+ non-overlapping objects. A minimalistic timeline would only have
+ one layer. A more complex editing application could use as many as
+ needed.
+Tracks - Corresponds to the output stream formats. A typical
+ GESTimeline would have a audio track and a video track. An audio
+ editor would only require one single audio Track.
+
+
+
In order to reduce even more the amount of GStreamer interaction
+ the application developer has to deal with , a convenience GstPipeline
+ has been made available specifically for Timelines : GESTimelinePipeline .
+
+
+
+
Timeline layers
+
The layers are the end-user visible part of GES.
+
+
+
+
Timeline Tracks
+
The tracks are the GStreamer-level components of a Timeline. They
+ are a 1-to-1 relationship to the output streams.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/ges-hierarchy.html b/docs/libs/html/ges-hierarchy.html
new file mode 100644
index 0000000000..1c2a78677f
--- /dev/null
+++ b/docs/libs/html/ges-hierarchy.html
@@ -0,0 +1,50 @@
+
+
+
+
+Object Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+GStreamer Editing Services 0.10.0.1 Reference Manual
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/ges.devhelp b/docs/libs/html/ges.devhelp
new file mode 100644
index 0000000000..d282e94550
--- /dev/null
+++ b/docs/libs/html/ges.devhelp
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/libs/html/ges.devhelp2 b/docs/libs/html/ges.devhelp2
new file mode 100644
index 0000000000..2f7398db0f
--- /dev/null
+++ b/docs/libs/html/ges.devhelp2
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/libs/html/home.png b/docs/libs/html/home.png
new file mode 100644
index 0000000000..17003611d9
Binary files /dev/null and b/docs/libs/html/home.png differ
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
new file mode 100644
index 0000000000..20bf542534
--- /dev/null
+++ b/docs/libs/html/index.html
@@ -0,0 +1,87 @@
+
+
+
+
+GStreamer Editing Services 0.10.0.1 Reference Manual
+
+
+
+
+
+
+
+
+
+
+
GStreamer Editing Services 0.10.0.1 Reference Manual
+
+ for GStreamer Editing Services 0.10 (0.10.0.1)
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/html/index.sgml b/docs/libs/html/index.sgml
new file mode 100644
index 0000000000..622e6b6678
--- /dev/null
+++ b/docs/libs/html/index.sgml
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/libs/html/layer_track_overview.png b/docs/libs/html/layer_track_overview.png
new file mode 100644
index 0000000000..8e2851735f
Binary files /dev/null and b/docs/libs/html/layer_track_overview.png differ
diff --git a/docs/libs/html/left.png b/docs/libs/html/left.png
new file mode 100644
index 0000000000..2d05b3d5b4
Binary files /dev/null and b/docs/libs/html/left.png differ
diff --git a/docs/libs/html/right.png b/docs/libs/html/right.png
new file mode 100644
index 0000000000..92832e3a45
Binary files /dev/null and b/docs/libs/html/right.png differ
diff --git a/docs/libs/html/style.css b/docs/libs/html/style.css
new file mode 100644
index 0000000000..82115eb76c
--- /dev/null
+++ b/docs/libs/html/style.css
@@ -0,0 +1,257 @@
+.synopsis, .classsynopsis
+{
+ /* tango:aluminium 1/2 */
+ background: #eeeeec;
+ border: solid 1px #d3d7cf;
+ padding: 0.5em;
+}
+.programlisting
+{
+ /* tango:sky blue 0/1 */
+ background: #e6f3ff;
+ border: solid 1px #729fcf;
+ padding: 0.5em;
+}
+.variablelist
+{
+ padding: 4px;
+ margin-left: 3em;
+}
+.variablelist td:first-child
+{
+ vertical-align: top;
+}
+
+@media screen {
+ sup a.footnote
+ {
+ position: relative;
+ top: 0em ! important;
+
+ }
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+ {
+ position: relative;
+ padding-top:4.5em;
+ }
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 3.2em;
+ padding-bottom: 20em;
+ }
+ /* style and size the navigation bar */
+ table.navigation#top
+ {
+ position: fixed;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ z-index: 10;
+ }
+ .navigation a, .navigation a:visited
+ {
+ /* tango:scarlet red 3 */
+ color: #a40000;
+ }
+ .navigation a:hover
+ {
+ /* tango:scarlet red 1 */
+ color: #ef2929;
+ }
+ td.shortcuts
+ {
+ /* tango:scarlet red 1 */
+ color: #ef2929;
+ font-size: 80%;
+ white-space: nowrap;
+ }
+}
+@media print {
+ table.navigation {
+ visibility: collapse;
+ display: none;
+ }
+ div.titlepage table.navigation {
+ visibility: visible;
+ display: table;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ }
+}
+
+.navigation .title
+{
+ font-size: 200%;
+}
+
+div.gallery-float
+{
+ float: left;
+ padding: 10px;
+}
+div.gallery-float img
+{
+ border-style: none;
+}
+div.gallery-spacer
+{
+ clear: both;
+}
+
+a, a:visited
+{
+ text-decoration: none;
+ /* tango:sky blue 2 */
+ color: #3465a4;
+}
+a:hover
+{
+ text-decoration: underline;
+ /* tango:sky blue 1 */
+ color: #729fcf;
+}
+
+div.table table
+{
+ border-collapse: collapse;
+ border-spacing: 0px;
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+}
+
+div.table table td, div.table table th
+{
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+ padding: 3px;
+ vertical-align: top;
+}
+
+div.table table th
+{
+ /* tango:aluminium 2 */
+ background-color: #d3d7cf;
+}
+
+hr
+{
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ background: #babdb6;
+ border: none 0px;
+ height: 1px;
+ clear: both;
+}
+
+.footer
+{
+ padding-top: 3.5em;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ text-align: center;
+ font-size: 80%;
+}
+
+.warning
+{
+ /* tango:orange 0/1 */
+ background: #ffeed9;
+ border-color: #ffb04f;
+}
+.note
+{
+ /* tango:chameleon 0/0.5 */
+ background: #d8ffb2;
+ border-color: #abf562;
+}
+.note, .warning
+{
+ padding: 0.5em;
+ border-width: 1px;
+ border-style: solid;
+}
+.note h3, .warning h3
+{
+ margin-top: 0.0em
+}
+.note p, .warning p
+{
+ margin-bottom: 0.0em
+}
+
+/* blob links */
+h2 .extralinks, h3 .extralinks
+{
+ float: right;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+/* code listings */
+
+.listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */
+.listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */
+.listing_code .programlisting .function { color: #000000; font-weight: bold; }
+.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
+.listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */
+.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
+.listing_code .programlisting .normal { color: #000000; }
+.listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */
+.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
+.listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */
+.listing_code .programlisting .type { color: #000000; }
+.listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */
+.listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */
+
+.listing_frame {
+ /* tango:sky blue 1 */
+ border: solid 1px #729fcf;
+ padding: 0px;
+}
+
+.listing_lines, .listing_code {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0.5em;
+}
+.listing_lines {
+ /* tango:sky blue 0.5 */
+ background: #a6c5e3;
+ /* tango:aluminium 6 */
+ color: #2e3436;
+}
+.listing_code {
+ /* tango:sky blue 0 */
+ background: #e6f3ff;
+}
+.listing_code .programlisting {
+ /* override from previous */
+ border: none 0px;
+ padding: 0px;
+}
+.listing_lines pre, .listing_code pre {
+ margin: 0px;
+}
+
diff --git a/docs/libs/html/up.png b/docs/libs/html/up.png
new file mode 100644
index 0000000000..85b3e2a275
Binary files /dev/null and b/docs/libs/html/up.png differ
diff --git a/docs/libs/tmpl/ges-common.sgml b/docs/libs/tmpl/ges-common.sgml
new file mode 100644
index 0000000000..8d81a8a4da
--- /dev/null
+++ b/docs/libs/tmpl/ges-common.sgml
@@ -0,0 +1,30 @@
+
+Initialization
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@void:
+
+
diff --git a/docs/libs/tmpl/ges-common.sgml.bak b/docs/libs/tmpl/ges-common.sgml.bak
new file mode 100644
index 0000000000..79db3fc3bb
--- /dev/null
+++ b/docs/libs/tmpl/ges-common.sgml.bak
@@ -0,0 +1,32 @@
+
+Initialization
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@void:
+
+
diff --git a/docs/libs/tmpl/ges-custom-timeline-source.sgml b/docs/libs/tmpl/ges-custom-timeline-source.sgml
new file mode 100644
index 0000000000..b76573d235
--- /dev/null
+++ b/docs/libs/tmpl/ges-custom-timeline-source.sgml
@@ -0,0 +1,57 @@
+
+GESCustomTimelineSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@object:
+@trobject:
+@gnlobj:
+@user_data:
+@Returns:
+
+
+
+
+
+
+
+@func:
+@user_data:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-custom-timeline-source.sgml.bak b/docs/libs/tmpl/ges-custom-timeline-source.sgml.bak
new file mode 100644
index 0000000000..4783fabd6a
--- /dev/null
+++ b/docs/libs/tmpl/ges-custom-timeline-source.sgml.bak
@@ -0,0 +1,67 @@
+
+GESCustomTimelineSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@object:
+@track:
+@Returns:
+
+
+
+
+
+
+
+@object:
+@trobject:
+@gnlobj:
+@user_data:
+@Returns:
+
+
+
+
+
+
+
+@func:
+@user_data:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-simple-timeline-layer.sgml b/docs/libs/tmpl/ges-simple-timeline-layer.sgml
new file mode 100644
index 0000000000..0f5982c32d
--- /dev/null
+++ b/docs/libs/tmpl/ges-simple-timeline-layer.sgml
@@ -0,0 +1,66 @@
+
+GESSimpleTimelineLayer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
+
+
+
+
+
+@layer:
+@object:
+@position:
+@Returns:
+
+
+
+
+
+
+
+@layer:
+@object:
+@newposition:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-simple-timeline-layer.sgml.bak b/docs/libs/tmpl/ges-simple-timeline-layer.sgml.bak
new file mode 100644
index 0000000000..fc31cdd2f8
--- /dev/null
+++ b/docs/libs/tmpl/ges-simple-timeline-layer.sgml.bak
@@ -0,0 +1,68 @@
+
+GESSimpleTimelineLayer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
+
+
+
+
+
+@layer:
+@object:
+@position:
+@Returns:
+
+
+
+
+
+
+
+@layer:
+@object:
+@newposition:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-filesource.sgml b/docs/libs/tmpl/ges-timeline-filesource.sgml
new file mode 100644
index 0000000000..2149d90f46
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-filesource.sgml
@@ -0,0 +1,59 @@
+
+GESTimelineFileSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@uri:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-filesource.sgml.bak b/docs/libs/tmpl/ges-timeline-filesource.sgml.bak
new file mode 100644
index 0000000000..a5a0ed2900
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-filesource.sgml.bak
@@ -0,0 +1,61 @@
+
+GESTimelineFileSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@uri:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-layer.sgml b/docs/libs/tmpl/ges-timeline-layer.sgml
new file mode 100644
index 0000000000..0618e0efd8
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-layer.sgml
@@ -0,0 +1,96 @@
+
+GESTimelineLayer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@gestimelinelayer: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@gestimelinelayer: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+@object_added:
+@object_removed:
+
+
+
+
+
+
+@layer:
+@object:
+@Returns:
+
+
+
+
+
+
+
+@void:
+@Returns:
+
+
+
+
+
+
+
+@layer:
+@object:
+@Returns:
+
+
+
+
+
+
+
+@layer:
+@priority:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-layer.sgml.bak b/docs/libs/tmpl/ges-timeline-layer.sgml.bak
new file mode 100644
index 0000000000..b4b31e8602
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-layer.sgml.bak
@@ -0,0 +1,98 @@
+
+GESTimelineLayer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@gestimelinelayer: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@gestimelinelayer: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+@object_added:
+@object_removed:
+
+
+
+
+
+
+@layer:
+@object:
+@Returns:
+
+
+
+
+
+
+
+@void:
+@Returns:
+
+
+
+
+
+
+
+@layer:
+@object:
+@Returns:
+
+
+
+
+
+
+
+@layer:
+@priority:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-object.sgml b/docs/libs/tmpl/ges-timeline-object.sgml
new file mode 100644
index 0000000000..c36abb605d
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-object.sgml
@@ -0,0 +1,149 @@
+
+GESTimelineObject
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@layer:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+@create_track_object:
+@fill_track_object:
+@need_fill_track:
+
+
+
+
+
+
+@object:
+@track:
+@Returns:
+
+
+
+
+
+
+
+@object:
+@trobject:
+@gnlobj:
+@Returns:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@object:
+@inpoint:
+
+
+
+
+
+
+
+@object:
+@start:
+
+
+
+
+
+
+
+@object:
+@duration:
+
+
+
+
+
+
+
+@object:
+@track:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-object.sgml.bak b/docs/libs/tmpl/ges-timeline-object.sgml.bak
new file mode 100644
index 0000000000..7aa27f045a
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-object.sgml.bak
@@ -0,0 +1,139 @@
+
+GESTimelineObject
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@layer:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+@create_track_object:
+@fill_track_object:
+@need_fill_track:
+
+
+
+
+
+
+@object:
+@trobject:
+@gnlobj:
+@Returns:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@object:
+@inpoint:
+
+
+
+
+
+
+
+@object:
+@start:
+
+
+
+
+
+
+
+@object:
+@duration:
+
+
+
+
+
+
+
+@object:
+@track:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-pipeline.sgml b/docs/libs/tmpl/ges-timeline-pipeline.sgml
new file mode 100644
index 0000000000..458dc74c3c
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-pipeline.sgml
@@ -0,0 +1,86 @@
+
+GESTimelinePipeline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@TIMELINE_MODE_PREVIEW_AUDIO:
+@TIMELINE_MODE_PREVIEW_VIDEO:
+@TIMELINE_MODE_PREVIEW:
+@TIMELINE_MODE_RENDER:
+@TIMELINE_MODE_SMART_RENDER:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
+
+
+
+
+
+@pipeline:
+@timeline:
+@Returns:
+
+
+
+
+
+
+
+@pipeline:
+@mode:
+@Returns:
+
+
+
+
+
+
+
+@pipeline:
+@output_uri:
+@profile:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-pipeline.sgml.bak b/docs/libs/tmpl/ges-timeline-pipeline.sgml.bak
new file mode 100644
index 0000000000..5b057221a2
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-pipeline.sgml.bak
@@ -0,0 +1,88 @@
+
+GESTimelinePipeline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@TIMELINE_MODE_PREVIEW_AUDIO:
+@TIMELINE_MODE_PREVIEW_VIDEO:
+@TIMELINE_MODE_PREVIEW:
+@TIMELINE_MODE_RENDER:
+@TIMELINE_MODE_SMART_RENDER:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
+
+
+
+
+
+@pipeline:
+@timeline:
+@Returns:
+
+
+
+
+
+
+
+@pipeline:
+@mode:
+@Returns:
+
+
+
+
+
+
+
+@pipeline:
+@output_uri:
+@profile:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-source.sgml b/docs/libs/tmpl/ges-timeline-source.sgml
new file mode 100644
index 0000000000..4a31045ad4
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-source.sgml
@@ -0,0 +1,44 @@
+
+GESTimelineSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-source.sgml.bak b/docs/libs/tmpl/ges-timeline-source.sgml.bak
new file mode 100644
index 0000000000..f617dff9cb
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-source.sgml.bak
@@ -0,0 +1,46 @@
+
+GESTimelineSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-transition.sgml b/docs/libs/tmpl/ges-timeline-transition.sgml
new file mode 100644
index 0000000000..389e5e6920
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-transition.sgml
@@ -0,0 +1,44 @@
+
+GESTimelineTransition
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline-transition.sgml.bak b/docs/libs/tmpl/ges-timeline-transition.sgml.bak
new file mode 100644
index 0000000000..6b01367450
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline-transition.sgml.bak
@@ -0,0 +1,46 @@
+
+GESTimelineTransition
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline.sgml b/docs/libs/tmpl/ges-timeline.sgml
new file mode 100644
index 0000000000..8598b6edbb
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline.sgml
@@ -0,0 +1,158 @@
+
+GESTimeline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@gestimeline: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@gestimeline: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@gestimeline: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@gestimeline: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@parent_class:
+@track_added:
+@track_removed:
+@layer_added:
+@layer_removed:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@layer:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@layer:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@track:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@track:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@pad:
+@Returns:
+
+
+
+
+
+
+
+@uri:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@uri:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-timeline.sgml.bak b/docs/libs/tmpl/ges-timeline.sgml.bak
new file mode 100644
index 0000000000..a99a81c537
--- /dev/null
+++ b/docs/libs/tmpl/ges-timeline.sgml.bak
@@ -0,0 +1,160 @@
+
+GESTimeline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@gestimeline: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@gestimeline: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@gestimeline: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@gestimeline: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@parent_class:
+@track_added:
+@track_removed:
+@layer_added:
+@layer_removed:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@layer:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@layer:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@track:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@track:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@pad:
+@Returns:
+
+
+
+
+
+
+
+@uri:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@uri:
+@Returns:
+
+
+
+
+
+
+
+@timeline:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-track-filesource.sgml b/docs/libs/tmpl/ges-track-filesource.sgml
new file mode 100644
index 0000000000..fa42d781ba
--- /dev/null
+++ b/docs/libs/tmpl/ges-track-filesource.sgml
@@ -0,0 +1,50 @@
+
+GESTrackFileSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@uri:
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@uri:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-track-filesource.sgml.bak b/docs/libs/tmpl/ges-track-filesource.sgml.bak
new file mode 100644
index 0000000000..cd17837e02
--- /dev/null
+++ b/docs/libs/tmpl/ges-track-filesource.sgml.bak
@@ -0,0 +1,52 @@
+
+GESTrackFileSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@uri:
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@uri:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-track-object.sgml b/docs/libs/tmpl/ges-track-object.sgml
new file mode 100644
index 0000000000..4e34c84a6f
--- /dev/null
+++ b/docs/libs/tmpl/ges-track-object.sgml
@@ -0,0 +1,111 @@
+
+GESTrackObject
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@timelineobj:
+@track:
+@valid:
+@start:
+@inpoint:
+@duration:
+@priority:
+@active:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+@create_gnl_object:
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@object:
+@active:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-track-object.sgml.bak b/docs/libs/tmpl/ges-track-object.sgml.bak
new file mode 100644
index 0000000000..26a7a16265
--- /dev/null
+++ b/docs/libs/tmpl/ges-track-object.sgml.bak
@@ -0,0 +1,113 @@
+
+GESTrackObject
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@timelineobj:
+@track:
+@valid:
+@start:
+@inpoint:
+@duration:
+@priority:
+@active:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+@create_gnl_object:
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@object:
+@active:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-track-source.sgml b/docs/libs/tmpl/ges-track-source.sgml
new file mode 100644
index 0000000000..c2ef8ad01d
--- /dev/null
+++ b/docs/libs/tmpl/ges-track-source.sgml
@@ -0,0 +1,44 @@
+
+GESTrackSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-track-source.sgml.bak b/docs/libs/tmpl/ges-track-source.sgml.bak
new file mode 100644
index 0000000000..02abfebb34
--- /dev/null
+++ b/docs/libs/tmpl/ges-track-source.sgml.bak
@@ -0,0 +1,46 @@
+
+GESTrackSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@void:
+@Returns:
+
+
diff --git a/docs/libs/tmpl/ges-track.sgml b/docs/libs/tmpl/ges-track.sgml
new file mode 100644
index 0000000000..c6b724742f
--- /dev/null
+++ b/docs/libs/tmpl/ges-track.sgml
@@ -0,0 +1,111 @@
+
+GESTrack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@type:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@GES_TRACK_TYPE_AUDIO:
+@GES_TRACK_TYPE_VIDEO:
+@GES_TRACK_TYPE_TEXT:
+@GES_TRACK_TYPE_CUSTOM:
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@type:
+@caps:
+@Returns:
+
+
+
+
+
+
+
+@track:
+@object:
+@Returns:
+
+
+
+
+
+
+
+@track:
+@object:
+@Returns:
+
+
+
+
+
+
+
+@track:
+@caps:
+
+
diff --git a/docs/libs/tmpl/ges-track.sgml.bak b/docs/libs/tmpl/ges-track.sgml.bak
new file mode 100644
index 0000000000..46d5bce40d
--- /dev/null
+++ b/docs/libs/tmpl/ges-track.sgml.bak
@@ -0,0 +1,113 @@
+
+GESTrack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@type:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@GES_TRACK_TYPE_AUDIO:
+@GES_TRACK_TYPE_VIDEO:
+@GES_TRACK_TYPE_TEXT:
+@GES_TRACK_TYPE_CUSTOM:
+
+
+
+
+
+
+@parent_class:
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@type:
+@caps:
+@Returns:
+
+
+
+
+
+
+
+@track:
+@object:
+@Returns:
+
+
+
+
+
+
+
+@track:
+@object:
+@Returns:
+
+
+
+
+
+
+
+@track:
+@caps:
+
+
diff --git a/docs/libs/tmpl/ges-unused.sgml b/docs/libs/tmpl/ges-unused.sgml
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/docs/libs/xml/api-index-deprecated.xml b/docs/libs/xml/api-index-deprecated.xml
new file mode 100644
index 0000000000..3a1ff30550
--- /dev/null
+++ b/docs/libs/xml/api-index-deprecated.xml
@@ -0,0 +1,9 @@
+
+
+%version-entities;
+]>
+
+
+
diff --git a/docs/libs/xml/api-index-full.xml b/docs/libs/xml/api-index-full.xml
new file mode 100644
index 0000000000..9747d3a768
--- /dev/null
+++ b/docs/libs/xml/api-index-full.xml
@@ -0,0 +1,120 @@
+
+
+%version-entities;
+]>
+
+
+C
+ CreateTrackObjectFunc, user_function in GESTimelineObject
+ GESCustomTimelineSource, struct in GESCustomTimelineSource
+ GESCustomTimelineSourceClass, struct in GESCustomTimelineSource
+ ges_custom_timeline_source_new, function in GESCustomTimelineSource
+
+F
+ FillTrackObjectFunc, user_function in GESTimelineObject
+ FillTrackObjectUserFunc, user_function in GESCustomTimelineSource
+
+I
+ ges_init, function in Initialization
+
+P
+ GESPipelineFlags, enum in GESTimelinePipeline
+
+S
+ GESSimpleTimelineLayer, struct in GESSimpleTimelineLayer
+ GESSimpleTimelineLayerClass, struct in GESSimpleTimelineLayer
+ ges_simple_timeline_layer_add_object, function in GESSimpleTimelineLayer
+ ges_simple_timeline_layer_move_object, function in GESSimpleTimelineLayer
+ ges_simple_timeline_layer_new, function in GESSimpleTimelineLayer
+
+T
+ GESTimeline, struct in GESTimeline
+ GESTimeline::layer-added, object signal in GESTimeline
+ GESTimeline::layer-removed, object signal in GESTimeline
+ GESTimeline::track-added, object signal in GESTimeline
+ GESTimeline::track-removed, object signal in GESTimeline
+ GESTimelineClass, struct in GESTimeline
+ GESTimelineFileSource, struct in GESTimelineFileSource
+ GESTimelineFileSource:max-duration, object property in GESTimelineFileSource
+ GESTimelineFileSource:mute, object property in GESTimelineFileSource
+ GESTimelineFileSource:uri, object property in GESTimelineFileSource
+ GESTimelineFileSourceClass, struct in GESTimelineFileSource
+ GESTimelineLayer, struct in GESTimelineLayer
+ GESTimelineLayer::object-added, object signal in GESTimelineLayer
+ GESTimelineLayer::object-removed, object signal in GESTimelineLayer
+ GESTimelineLayer:priority, object property in GESTimelineLayer
+ GESTimelineLayerClass, struct in GESTimelineLayer
+ GESTimelineObject, struct in GESTimelineObject
+ GESTimelineObject:duration, object property in GESTimelineObject
+ GESTimelineObject:in-point, object property in GESTimelineObject
+ GESTimelineObject:priority, object property in GESTimelineObject
+ GESTimelineObject:start, object property in GESTimelineObject
+ GESTimelineObjectClass, struct in GESTimelineObject
+ GESTimelinePipeline, struct in GESTimelinePipeline
+ GESTimelinePipelineClass, struct in GESTimelinePipeline
+ GESTimelineSource, struct in GESTimelineSource
+ GESTimelineSourceClass, struct in GESTimelineSource
+ GESTimelineTransition, struct in GESTimelineTransition
+ GESTimelineTransitionClass, struct in GESTimelineTransition
+ ges_timeline_add_layer, function in GESTimeline
+ ges_timeline_add_track, function in GESTimeline
+ ges_timeline_filesource_new, function in GESTimelineFileSource
+ ges_timeline_get_tracks, function in GESTimeline
+ ges_timeline_get_track_for_pad, function in GESTimeline
+ ges_timeline_layer_add_object, function in GESTimelineLayer
+ ges_timeline_layer_new, function in GESTimelineLayer
+ ges_timeline_layer_remove_object, function in GESTimelineLayer
+ ges_timeline_layer_set_priority, function in GESTimelineLayer
+ ges_timeline_load_from_uri, function in GESTimeline
+ ges_timeline_new, function in GESTimeline
+ GES_TIMELINE_OBJECT_DURATION, macro in GESTimelineObject
+ ges_timeline_object_find_track_object, function in GESTimelineObject
+ GES_TIMELINE_OBJECT_INPOINT, macro in GESTimelineObject
+ GES_TIMELINE_OBJECT_PRIORITY, macro in GESTimelineObject
+ ges_timeline_object_set_duration, function in GESTimelineObject
+ ges_timeline_object_set_inpoint, function in GESTimelineObject
+ ges_timeline_object_set_start, function in GESTimelineObject
+ GES_TIMELINE_OBJECT_START, macro in GESTimelineObject
+ ges_timeline_pipeline_add_timeline, function in GESTimelinePipeline
+ ges_timeline_pipeline_new, function in GESTimelinePipeline
+ ges_timeline_pipeline_set_mode, function in GESTimelinePipeline
+ ges_timeline_pipeline_set_render_settings, function in GESTimelinePipeline
+ ges_timeline_remove_layer, function in GESTimeline
+ ges_timeline_remove_track, function in GESTimeline
+ ges_timeline_save, function in GESTimeline
+ ges_timeline_source_new, function in GESTimelineSource
+ ges_timeline_transition_new, function in GESTimelineTransition
+ GESTrack, struct in GESTrack
+ GESTrack:caps, object property in GESTrack
+ GESTrack:track-type, object property in GESTrack
+ GESTrackClass, struct in GESTrack
+ GESTrackFileSource, struct in GESTrackFileSource
+ GESTrackFileSource:uri, object property in GESTrackFileSource
+ GESTrackFileSourceClass, struct in GESTrackFileSource
+ GESTrackObject, struct in GESTrackObject
+ GESTrackObject:active, object property in GESTrackObject
+ GESTrackObject:duration, object property in GESTrackObject
+ GESTrackObject:in-point, object property in GESTrackObject
+ GESTrackObject:priority, object property in GESTrackObject
+ GESTrackObject:start, object property in GESTrackObject
+ GESTrackObjectClass, struct in GESTrackObject
+ GESTrackSource, struct in GESTrackSource
+ GESTrackSourceClass, struct in GESTrackSource
+ GESTrackType, enum in GESTrack
+ ges_track_add_object, function in GESTrack
+ ges_track_audio_raw_new, function in GESTrack
+ ges_track_filesource_new, function in GESTrackFileSource
+ ges_track_new, function in GESTrack
+ GES_TRACK_OBJECT_DURATION, macro in GESTrackObject
+ GES_TRACK_OBJECT_INPOINT, macro in GESTrackObject
+ GES_TRACK_OBJECT_PRIORITY, macro in GESTrackObject
+ ges_track_object_set_active, function in GESTrackObject
+ GES_TRACK_OBJECT_START, macro in GESTrackObject
+ ges_track_remove_object, function in GESTrack
+ ges_track_set_caps, function in GESTrack
+ ges_track_source_new, function in GESTrackSource
+ ges_track_video_raw_new, function in GESTrack
+
+
diff --git a/docs/libs/xml/ges-common.xml b/docs/libs/xml/ges-common.xml
new file mode 100644
index 0000000000..c7c24d1ab0
--- /dev/null
+++ b/docs/libs/xml/ges-common.xml
@@ -0,0 +1,48 @@
+
+
+%version-entities;
+]>
+
+
+
+Initialization
+3
+
+ GES Library
+
+
+
+Initialization
+Initialization.
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+void ges_init (void );
+
+
+
+
+Description
+
+
+
+Details
+
+ges_init ()
+ges_init
+void ges_init (void );
+
+Initialize the GStreamer Editing Service. Call this before any usage of
+GES.
+
+
+
+
+
diff --git a/docs/libs/xml/ges-custom-timeline-source.xml b/docs/libs/xml/ges-custom-timeline-source.xml
new file mode 100644
index 0000000000..b00ba3e49e
--- /dev/null
+++ b/docs/libs/xml/ges-custom-timeline-source.xml
@@ -0,0 +1,126 @@
+
+
+%version-entities;
+]>
+
+
+
+GESCustomTimelineSource
+3
+
+ GES Library
+
+
+
+GESCustomTimelineSource
+Convenience GESTimelineSource
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESCustomTimelineSource;
+ GESCustomTimelineSourceClass;
+gboolean ( *FillTrackObjectUserFunc) (GESTimelineObject *object ,
+ GESTrackObject *trobject ,
+ GstElement *gnlobj ,
+ gpointer user_data );
+GESCustomTimelineSource * ges_custom_timeline_source_new
+ (FillTrackObjectUserFunc func ,
+ gpointer user_data );
+
+
+
+Object Hierarchy
+
+ GObject
+ +---- GESTimelineObject
+ +---- GESTimelineSource
+ +----GESCustomTimelineSource
+
+
+
+
+Description
+
+GESCustomTimelineSource allows creating GESTimelineSource (s) without the
+need to subclass.
+
+
+Its usage should be limited to testing and prototyping purposes.
+
+
+
+Details
+
+GESCustomTimelineSource
+GESCustomTimelineSource
+typedef struct _GESCustomTimelineSource GESCustomTimelineSource;
+
+
+
+GESCustomTimelineSourceClass
+GESCustomTimelineSourceClass
+typedef struct {
+ GESTimelineSourceClass parent_class;
+} GESCustomTimelineSourceClass;
+
+
+
+
+FillTrackObjectUserFunc ()
+FillTrackObjectUserFunc
+gboolean (*FillTrackObjectUserFunc) (GESTimelineObject *object ,
+ GESTrackObject *trobject ,
+ GstElement *gnlobj ,
+ gpointer user_data );
+
+A function that will be called when the GNonLin object of a corresponding
+track object needs to be filled.
+
+
+The implementer of this function shall add the proper GstElement to gnlobj
+using gst_bin_add() .
+
+object :
+the GESTimelineObject controlling the track object
+
+trobject :
+the GESTrackObject
+
+gnlobj :
+the GNonLin object that needs to be filled.
+
+user_data :
+the gpointer to optional user data
+
+Returns : TRUE if the implementer succesfully filled the gnlobj , else FALSE .
+
+
+
+ges_custom_timeline_source_new ()
+ges_custom_timeline_source_new
+GESCustomTimelineSource * ges_custom_timeline_source_new
+ (FillTrackObjectUserFunc func ,
+ gpointer user_data );
+
+Creates a new GESCustomTimelineSource .
+
+func :
+The FillTrackObjectUserFunc that will be used to fill the track objects.
+
+user_data :
+a gpointer that will be used when func is called.
+
+Returns : The new GESCustomTimelineSource .
+
+
+
+
+
+
diff --git a/docs/libs/xml/ges-doc.bottom b/docs/libs/xml/ges-doc.bottom
new file mode 100644
index 0000000000..4635aabaab
--- /dev/null
+++ b/docs/libs/xml/ges-doc.bottom
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/libs/xml/ges-doc.top b/docs/libs/xml/ges-doc.top
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/docs/libs/xml/ges-simple-timeline-layer.xml b/docs/libs/xml/ges-simple-timeline-layer.xml
new file mode 100644
index 0000000000..59b936e9d0
--- /dev/null
+++ b/docs/libs/xml/ges-simple-timeline-layer.xml
@@ -0,0 +1,137 @@
+
+
+%version-entities;
+]>
+
+
+
+GESSimpleTimelineLayer
+3
+
+ GES Library
+
+
+
+GESSimpleTimelineLayer
+High-level GESTimelineLayer
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESSimpleTimelineLayer;
+ GESSimpleTimelineLayerClass;
+GESSimpleTimelineLayer * ges_simple_timeline_layer_new (void );
+gboolean ges_simple_timeline_layer_add_object
+ (GESSimpleTimelineLayer *layer ,
+ GESTimelineObject *object ,
+ gint position );
+gboolean ges_simple_timeline_layer_move_object
+ (GESSimpleTimelineLayer *layer ,
+ GESTimelineObject *object ,
+ gint newposition );
+
+
+
+Object Hierarchy
+
+ GObject
+ +---- GESTimelineLayer
+ +----GESSimpleTimelineLayer
+
+
+
+
+Description
+
+GESSimpleTimelineLayer allows using GESTimelineObject (s) with a list-like
+API.
+
+
+
+Details
+
+GESSimpleTimelineLayer
+GESSimpleTimelineLayer
+typedef struct _GESSimpleTimelineLayer GESSimpleTimelineLayer;
+
+
+
+GESSimpleTimelineLayerClass
+GESSimpleTimelineLayerClass
+typedef struct {
+ GESTimelineLayerClass parent_class;
+} GESSimpleTimelineLayerClass;
+
+
+
+
+ges_simple_timeline_layer_new ()
+ges_simple_timeline_layer_new
+GESSimpleTimelineLayer * ges_simple_timeline_layer_new (void );
+
+Creates a new GESSimpleTimelineLayer .
+
+Returns : The new GESSimpleTimelineLayer
+
+
+
+ges_simple_timeline_layer_add_object ()
+ges_simple_timeline_layer_add_object
+gboolean ges_simple_timeline_layer_add_object
+ (GESSimpleTimelineLayer *layer ,
+ GESTimelineObject *object ,
+ gint position );
+
+Adds the object at the given position in the layer. The position is where
+the object will be inserted. To put the object before all objects, use
+position 0. To put after all objects, use position -1.
+
+
+The layer will steal a reference to the provided object.
+
+layer :
+a GESSimpleTimelineLayer
+
+object :
+the GESTimelineObject to add
+
+position :
+the position at which to add the object
+
+Returns : TRUE if the object was successfuly added, else FALSE.
+
+
+
+ges_simple_timeline_layer_move_object ()
+ges_simple_timeline_layer_move_object
+gboolean ges_simple_timeline_layer_move_object
+ (GESSimpleTimelineLayer *layer ,
+ GESTimelineObject *object ,
+ gint newposition );
+
+Moves the object to the given position in the layer. To put the object before
+all other objects, use position 0. To put the objects after all objects, use
+position -1.
+
+layer :
+a GESSimpleTimelineLayer
+
+object :
+the GESTimelineObject to move
+
+newposition :
+the new position at which to move the object
+
+Returns : TRUE if the object was successfuly moved, else FALSE.
+
+
+
+
+
+
diff --git a/docs/libs/xml/ges-timeline-filesource.xml b/docs/libs/xml/ges-timeline-filesource.xml
new file mode 100644
index 0000000000..30572b9e5e
--- /dev/null
+++ b/docs/libs/xml/ges-timeline-filesource.xml
@@ -0,0 +1,116 @@
+
+
+%version-entities;
+]>
+
+
+
+GESTimelineFileSource
+3
+
+ GES Library
+
+
+
+GESTimelineFileSource
+
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESTimelineFileSource;
+ GESTimelineFileSourceClass;
+GESTimelineFileSource * ges_timeline_filesource_new (gchar *uri );
+
+
+
+Object Hierarchy
+
+ GObject
+ +---- GESTimelineObject
+ +---- GESTimelineSource
+ +----GESTimelineFileSource
+
+
+
+Properties
+
+ " max-duration" guint64 : Read / Write / Construct
+ " mute" gboolean : Read / Write / Construct
+ " uri" gchar * : Read / Write / Construct Only
+
+
+
+
+Description
+
+
+
+Details
+
+GESTimelineFileSource
+GESTimelineFileSource
+typedef struct _GESTimelineFileSource GESTimelineFileSource;
+
+
+
+GESTimelineFileSourceClass
+GESTimelineFileSourceClass
+typedef struct {
+ GESTimelineSourceClass parent_class;
+} GESTimelineFileSourceClass;
+
+
+
+
+ges_timeline_filesource_new ()
+ges_timeline_filesource_new
+GESTimelineFileSource * ges_timeline_filesource_new (gchar *uri );
+
+Creates a new GESTimelineFileSource for the provided uri .
+
+uri :
+the URI the source should control
+
+Returns : The newly created GESTimelineFileSource , or NULL if there was an
+error.
+
+
+
+
+
+Property Details
+The "max-duration" property
+GESTimelineFileSource:max-duration
+ "max-duration" guint64 : Read / Write / Construct
+
+The maximum duration (in nanoseconds) of the file.
+
+
+If not set before adding the object to a layer, it will be discovered
+asynchronously. Connect to 'notify::max-duration' to be notified of it.
+ Default value: 18446744073709551615
+
+The "mute" property
+GESTimelineFileSource:mute
+ "mute" gboolean : Read / Write / Construct
+
+Whether the sound will be played or not.
+ Default value: FALSE
+
+The "uri" property
+GESTimelineFileSource:uri
+ "uri" gchar * : Read / Write / Construct Only
+
+The location of the file/resource to use.
+ Default value: NULL
+
+
+
+
diff --git a/docs/libs/xml/ges-timeline-layer.xml b/docs/libs/xml/ges-timeline-layer.xml
new file mode 100644
index 0000000000..aa24a90d4f
--- /dev/null
+++ b/docs/libs/xml/ges-timeline-layer.xml
@@ -0,0 +1,200 @@
+
+
+%version-entities;
+]>
+
+
+
+GESTimelineLayer
+3
+
+ GES Library
+
+
+
+GESTimelineLayer
+Non-overlaping sequence of GESTimelineObject
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESTimelineLayer;
+ GESTimelineLayerClass;
+gboolean ges_timeline_layer_add_object (GESTimelineLayer *layer ,
+ GESTimelineObject *object );
+GESTimelineLayer * ges_timeline_layer_new (void );
+gboolean ges_timeline_layer_remove_object (GESTimelineLayer *layer ,
+ GESTimelineObject *object );
+void ges_timeline_layer_set_priority (GESTimelineLayer *layer ,
+ guint priority );
+
+
+
+Object Hierarchy
+
+ GObject
+ +----GESTimelineLayer
+ +---- GESSimpleTimelineLayer
+
+
+
+Properties
+
+ " priority" guint : Read / Write
+
+
+
+Signals
+
+ " object-added" : Run First
+ " object-removed" : Run First
+
+
+
+
+Description
+
+Responsible for the ordering of the various contained TimelineObject(s)
+
+
+
+Details
+
+GESTimelineLayer
+GESTimelineLayer
+typedef struct _GESTimelineLayer GESTimelineLayer;
+
+
+
+GESTimelineLayerClass
+GESTimelineLayerClass
+typedef struct {
+ GObjectClass parent_class;
+
+ /*< signals >*/
+ void (*object_added) (GESTimelineLayer * layer, GESTimelineObject * object);
+ void (*object_removed) (GESTimelineLayer * layer, GESTimelineObject * object);
+} GESTimelineLayerClass;
+
+
+
+
+ges_timeline_layer_add_object ()
+ges_timeline_layer_add_object
+gboolean ges_timeline_layer_add_object (GESTimelineLayer *layer ,
+ GESTimelineObject *object );
+
+Adds the object to the layer. The layer will steal a reference to the
+provided object.
+
+layer :
+a GESTimelineLayer
+
+object :
+the GESTimelineObject to add.
+
+Returns : TRUE if the object was properly added to the layer, or FALSE
+if the layer refused to add the object.
+
+
+
+ges_timeline_layer_new ()
+ges_timeline_layer_new
+GESTimelineLayer * ges_timeline_layer_new (void );
+
+Creates a new GESTimelineLayer .
+
+Returns : A new GESTimelineLayer
+
+
+
+ges_timeline_layer_remove_object ()
+ges_timeline_layer_remove_object
+gboolean ges_timeline_layer_remove_object (GESTimelineLayer *layer ,
+ GESTimelineObject *object );
+
+Removes the given object from the layer . The reference stolen by the layer
+when the object was added will be removed. If you wish to use the object after
+this function, make sure you take an extra reference to the object before
+calling this function.
+
+layer :
+a GESTimelineLayer
+
+object :
+the GESTimelineObject to remove
+
+Returns : TRUE if the object was properly remove, else FALSE.
+
+
+
+ges_timeline_layer_set_priority ()
+ges_timeline_layer_set_priority
+void ges_timeline_layer_set_priority (GESTimelineLayer *layer ,
+ guint priority );
+
+
+layer :
+
+
+priority :
+
+
+
+
+
+
+Property Details
+The "priority" property
+GESTimelineLayer:priority
+ "priority" guint : Read / Write
+
+The priority of the layer in the GESTimeline . 0 is the highest
+priority.
+ Default value: 0
+
+
+
+Signal Details
+The "object-added" signal
+GESTimelineLayer::object-added
+void user_function (GESTimelineLayer *layer,
+ GESTimelineObject *object,
+ gpointer user_data) : Run First
+
+Will be emitted after the object was added to the layer.
+
+layer :
+the GESTimelineLayer
+
+object :
+the GESTimelineObject that was added.
+
+user_data :
+user data set when the signal handler was connected.
+ The "object-removed" signal
+GESTimelineLayer::object-removed
+void user_function (GESTimelineLayer *layer,
+ GESTimelineObject *object,
+ gpointer user_data) : Run First
+
+Will be emitted after the object was removed from the layer.
+
+layer :
+the GESTimelineLayer
+
+object :
+the GESTimelineObject that was removed
+
+user_data :
+user data set when the signal handler was connected.
+
+
+
+
diff --git a/docs/libs/xml/ges-timeline-object.xml b/docs/libs/xml/ges-timeline-object.xml
new file mode 100644
index 0000000000..a35cd11b49
--- /dev/null
+++ b/docs/libs/xml/ges-timeline-object.xml
@@ -0,0 +1,328 @@
+
+
+%version-entities;
+]>
+
+
+
+GESTimelineObject
+3
+
+ GES Library
+
+
+
+GESTimelineObject
+Base Class for objects in a GESTimelineLayer
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESTimelineObject;
+ GESTimelineObjectClass;
+GESTrackObject * ( *CreateTrackObjectFunc) (GESTimelineObject *object ,
+ GESTrack *track );
+gboolean ( *FillTrackObjectFunc) (GESTimelineObject *object ,
+ GESTrackObject *trobject ,
+ GstElement *gnlobj );
+#define GES_TIMELINE_OBJECT_DURATION (obj)
+#define GES_TIMELINE_OBJECT_INPOINT (obj)
+#define GES_TIMELINE_OBJECT_PRIORITY (obj)
+#define GES_TIMELINE_OBJECT_START (obj)
+void ges_timeline_object_set_inpoint (GESTimelineObject *object ,
+ guint64 inpoint );
+void ges_timeline_object_set_start (GESTimelineObject *object ,
+ guint64 start );
+void ges_timeline_object_set_duration (GESTimelineObject *object ,
+ guint64 duration );
+GESTrackObject * ges_timeline_object_find_track_object
+ (GESTimelineObject *object ,
+ GESTrack *track );
+
+
+
+Object Hierarchy
+
+ GObject
+ +----GESTimelineObject
+ +---- GESTimelineSource
+ +---- GESTimelineTransition
+
+
+
+Properties
+
+ " duration" guint64 : Read / Write
+ " in-point" guint64 : Read / Write
+ " priority" guint : Read / Write
+ " start" guint64 : Read / Write
+
+
+
+
+Description
+
+Responsible for creating the GESTrackObject (s) for given GESTimelineTrack (s)
+
+
+Keeps a reference to the GESTrackObject (s) it created and sets/updates their properties.
+
+
+
+Details
+
+GESTimelineObject
+GESTimelineObject
+typedef struct {
+ GESTimelineLayer * layer;
+} GESTimelineObject;
+
+
+The GESTimelineObject subclass. Subclasses can access these fields.
+
+GESTimelineLayer *layer ;
+the GESTImelineLayer where this object is being used.
+
+
+
+
+GESTimelineObjectClass
+GESTimelineObjectClass
+typedef struct {
+ GObjectClass parent_class;
+
+ CreateTrackObjectFunc create_track_object;
+ /* FIXME : might need a release_track_object */
+ FillTrackObjectFunc fill_track_object;
+ gboolean need_fill_track;
+} GESTimelineObjectClass;
+
+
+Subclasses can override the create_track_object and fill_track_object methods.
+
+GObjectClass parent_class ;
+object parent class
+
+
+CreateTrackObjectFunc create_track_object ;
+method to create a GESTrackObject for a given GESTrack .
+
+
+FillTrackObjectFunc fill_track_object ;
+method to fill an associated GESTrackObject .
+
+
+gboolean need_fill_track ;
+Set to TRUE if fill_track_object needs to be called.
+
+
+
+
+CreateTrackObjectFunc ()
+CreateTrackObjectFunc
+GESTrackObject * (*CreateTrackObjectFunc) (GESTimelineObject *object ,
+ GESTrack *track );
+
+A function that will be called when the object is added to a
+GESTimelineLayer .
+
+
+The implementer of this function shall return the proper GESTrackObject
+that should be controlled by object for the given track .
+
+
+If the object can't support the media-type of the track , this function
+should return NULL .
+
+object :
+a GESTimelineObject
+
+track :
+a GESTrack
+
+Returns : the GESTrackObject to be used, or NULL .
+
+
+
+FillTrackObjectFunc ()
+FillTrackObjectFunc
+gboolean (*FillTrackObjectFunc) (GESTimelineObject *object ,
+ GESTrackObject *trobject ,
+ GstElement *gnlobj );
+
+A function that will be called when the GNonLin object of a corresponding
+track object needs to be filled.
+
+
+The implementer of this function shall add the proper GstElement to gnlobj
+using gst_bin_add() .
+
+object :
+the GESTimelineObject controlling the track object
+
+trobject :
+the GESTrackObject
+
+gnlobj :
+the GNonLin object that needs to be filled.
+
+Returns : TRUE if the implementer succesfully filled the gnlobj , else FALSE .
+
+
+
+GES_TIMELINE_OBJECT_DURATION()
+GES_TIMELINE_OBJECT_DURATION
+#define GES_TIMELINE_OBJECT_DURATION(obj) (((GESTimelineObject*)obj)->duration)
+
+
+The duration position of the object (in nanoseconds).
+
+obj :
+a GESTimelineObject
+
+
+
+GES_TIMELINE_OBJECT_INPOINT()
+GES_TIMELINE_OBJECT_INPOINT
+#define GES_TIMELINE_OBJECT_INPOINT(obj) (((GESTimelineObject*)obj)->inpoint)
+
+
+The in-point of the object (in nanoseconds).
+
+obj :
+a GESTimelineObject
+
+
+
+GES_TIMELINE_OBJECT_PRIORITY()
+GES_TIMELINE_OBJECT_PRIORITY
+#define GES_TIMELINE_OBJECT_PRIORITY(obj) (((GESTimelineObject*)obj)->priority)
+
+
+The priority of the object.
+
+obj :
+a GESTimelineObject
+
+
+
+GES_TIMELINE_OBJECT_START()
+GES_TIMELINE_OBJECT_START
+#define GES_TIMELINE_OBJECT_START(obj) (((GESTimelineObject*)obj)->start)
+
+
+The start position of the object (in nanoseconds).
+
+obj :
+a GESTimelineObject
+
+
+
+ges_timeline_object_set_inpoint ()
+ges_timeline_object_set_inpoint
+void ges_timeline_object_set_inpoint (GESTimelineObject *object ,
+ guint64 inpoint );
+
+
+object :
+
+
+inpoint :
+
+
+
+
+ges_timeline_object_set_start ()
+ges_timeline_object_set_start
+void ges_timeline_object_set_start (GESTimelineObject *object ,
+ guint64 start );
+
+
+object :
+
+
+start :
+
+
+
+
+ges_timeline_object_set_duration ()
+ges_timeline_object_set_duration
+void ges_timeline_object_set_duration (GESTimelineObject *object ,
+ guint64 duration );
+
+
+object :
+
+
+duration :
+
+
+
+
+ges_timeline_object_find_track_object ()
+ges_timeline_object_find_track_object
+GESTrackObject * ges_timeline_object_find_track_object
+ (GESTimelineObject *object ,
+ GESTrack *track );
+
+Finds the GESTrackObject controlled by object that is used in track .
+
+
+Note: The reference count of the returned GESTrackObject will be increased,
+unref when done with it.
+
+object :
+a GESTimelineObject
+
+track :
+a GESTrack
+
+Returns : The GESTrackObject used by track , else NULL .
+
+
+
+
+
+Property Details
+The "duration" property
+GESTimelineObject:duration
+ "duration" guint64 : Read / Write
+
+The duration (in nanoseconds) which will be used in the container GESTrack
+starting from 'in-point'.
+ Default value: 1000000000
+
+The "in-point" property
+GESTimelineObject:in-point
+ "in-point" guint64 : Read / Write
+
+The in-point at which this GESTimelineObject 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.
+ Default value: 0
+
+The "priority" property
+GESTimelineObject:priority
+ "priority" guint : Read / Write
+The priority of the object. Default value: 0
+
+The "start" property
+GESTimelineObject:start
+ "start" guint64 : Read / Write
+
+The position of the object in the GESTimelineLayer (in nanoseconds).
+ Default value: 0
+
+
+
+
diff --git a/docs/libs/xml/ges-timeline-pipeline.xml b/docs/libs/xml/ges-timeline-pipeline.xml
new file mode 100644
index 0000000000..27e64e7cb5
--- /dev/null
+++ b/docs/libs/xml/ges-timeline-pipeline.xml
@@ -0,0 +1,207 @@
+
+
+%version-entities;
+]>
+
+
+
+GESTimelinePipeline
+3
+
+ GES Library
+
+
+
+GESTimelinePipeline
+Convenience GstPipeline for editing.
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESTimelinePipeline;
+ GESTimelinePipelineClass;
+enum GESPipelineFlags;
+GESTimelinePipeline * ges_timeline_pipeline_new (void );
+gboolean ges_timeline_pipeline_add_timeline (GESTimelinePipeline *pipeline ,
+ GESTimeline *timeline );
+gboolean ges_timeline_pipeline_set_mode (GESTimelinePipeline *pipeline ,
+ GESPipelineFlags mode );
+gboolean ges_timeline_pipeline_set_render_settings
+ (GESTimelinePipeline *pipeline ,
+ gchar *output_uri ,
+ GstEncodingProfile *profile );
+
+
+
+Object Hierarchy
+
+ GObject
+ +---- GstObject
+ +---- GstElement
+ +---- GstBin
+ +---- GstPipeline
+ +----GESTimelinePipeline
+
+
+
+Implemented Interfaces
+
+GESTimelinePipeline implements
+ GstChildProxy.
+
+
+
+Description
+
+GESTimelinePipeline allows developers to view and render GESTimeline
+in a simple fashion.
+Its usage is inspired by the 'playbin' element from gst-plugins-base.
+
+
+
+Details
+
+GESTimelinePipeline
+GESTimelinePipeline
+typedef struct _GESTimelinePipeline GESTimelinePipeline;
+
+
+
+GESTimelinePipelineClass
+GESTimelinePipelineClass
+typedef struct {
+ GstPipelineClass parent_class;
+} GESTimelinePipelineClass;
+
+
+
+
+enum GESPipelineFlags
+GESPipelineFlags
+typedef enum {
+ TIMELINE_MODE_PREVIEW_AUDIO = 1 << 0,
+ TIMELINE_MODE_PREVIEW_VIDEO = 1 << 1,
+ TIMELINE_MODE_PREVIEW = TIMELINE_MODE_PREVIEW_AUDIO | TIMELINE_MODE_PREVIEW_VIDEO,
+ TIMELINE_MODE_RENDER = 1 << 2,
+ TIMELINE_MODE_SMART_RENDER = 1 << 3
+} GESPipelineFlags;
+
+
+The various modes the GESTimelinePipeline can be configured to.
+
+
+TIMELINE_MODE_PREVIEW_AUDIO
+output audio to the soundcard
+
+
+
+TIMELINE_MODE_PREVIEW_VIDEO
+output video to the screen
+
+
+
+TIMELINE_MODE_PREVIEW
+output audio/video to soundcard/screen (default)
+
+
+
+TIMELINE_MODE_RENDER
+render timeline (forces decoding)
+
+
+
+TIMELINE_MODE_SMART_RENDER
+render timeline (tries to avoid decoding/reencoding)
+
+
+
+
+ges_timeline_pipeline_new ()
+ges_timeline_pipeline_new
+GESTimelinePipeline * ges_timeline_pipeline_new (void );
+
+Creates a new conveninence GESTimelinePipeline .
+
+Returns : the new GESTimelinePipeline .
+
+
+
+ges_timeline_pipeline_add_timeline ()
+ges_timeline_pipeline_add_timeline
+gboolean ges_timeline_pipeline_add_timeline (GESTimelinePipeline *pipeline ,
+ GESTimeline *timeline );
+
+Sets the timeline to use in this pipeline.
+
+
+The reference to the timeline will be stolen by the pipeline .
+
+pipeline :
+a GESTimelinePipeline
+
+timeline :
+the GESTimeline to set on the pipeline .
+
+Returns : TRUE if the timeline could be successfully set on the pipeline ,
+else FALSE.
+
+
+
+ges_timeline_pipeline_set_mode ()
+ges_timeline_pipeline_set_mode
+gboolean ges_timeline_pipeline_set_mode (GESTimelinePipeline *pipeline ,
+ GESPipelineFlags mode );
+
+switches the pipeline to the specified mode . The default mode when
+creating a GESTimelinePipeline is TIMELINE_MODE_PREVIEW .
+
+
+Note: The pipeline will be set to GST_STATE_NULL during this call due to
+the internal changes that happen. The caller will therefore have to
+set the pipeline to the requested state after calling this method.
+
+pipeline :
+a GESTimelinePipeline
+
+mode :
+the GESPipelineFlags to use
+
+Returns : TRUE if the mode was properly set, else FALSE .
+
+
+
+ges_timeline_pipeline_set_render_settings ()
+ges_timeline_pipeline_set_render_settings
+gboolean ges_timeline_pipeline_set_render_settings
+ (GESTimelinePipeline *pipeline ,
+ gchar *output_uri ,
+ GstEncodingProfile *profile );
+
+Specify where the pipeline shall be rendered and with what settings.
+
+
+This method must be called before setting the pipeline mode to
+TIMELINE_MODE_RENDER
+
+pipeline :
+a GESTimelinePipeline
+
+output_uri :
+the URI to which the timeline will be rendered
+
+profile :
+the GstEncodingProfile to use to render the timeline
+
+Returns : TRUE if the settings were aknowledged properly, else FALSE
+
+
+
+
+
+
diff --git a/docs/libs/xml/ges-timeline-source.xml b/docs/libs/xml/ges-timeline-source.xml
new file mode 100644
index 0000000000..2190cb7635
--- /dev/null
+++ b/docs/libs/xml/ges-timeline-source.xml
@@ -0,0 +1,76 @@
+
+
+%version-entities;
+]>
+
+
+
+GESTimelineSource
+3
+
+ GES Library
+
+
+
+GESTimelineSource
+Base Class for sources of a GESTimelineLayer
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESTimelineSource;
+ GESTimelineSourceClass;
+GESTimelineSource * ges_timeline_source_new (void );
+
+
+
+Object Hierarchy
+
+ GObject
+ +---- GESTimelineObject
+ +----GESTimelineSource
+ +---- GESTimelineFileSource
+ +---- GESCustomTimelineSource
+
+
+
+
+Description
+
+
+
+Details
+
+GESTimelineSource
+GESTimelineSource
+typedef struct _GESTimelineSource GESTimelineSource;
+
+
+
+GESTimelineSourceClass
+GESTimelineSourceClass
+typedef struct {
+ GESTimelineObjectClass parent_class;
+} GESTimelineSourceClass;
+
+
+
+
+ges_timeline_source_new ()
+ges_timeline_source_new
+GESTimelineSource * ges_timeline_source_new (void );
+
+
+Returns :
+
+
+
+
+
+
diff --git a/docs/libs/xml/ges-timeline-transition.xml b/docs/libs/xml/ges-timeline-transition.xml
new file mode 100644
index 0000000000..650dccf0af
--- /dev/null
+++ b/docs/libs/xml/ges-timeline-transition.xml
@@ -0,0 +1,74 @@
+
+
+%version-entities;
+]>
+
+
+
+GESTimelineTransition
+3
+
+ GES Library
+
+
+
+GESTimelineTransition
+Base Class for transitions in a GESTimelineLayer
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESTimelineTransition;
+ GESTimelineTransitionClass;
+GESTimelineTransition * ges_timeline_transition_new (void );
+
+
+
+Object Hierarchy
+
+ GObject
+ +---- GESTimelineObject
+ +----GESTimelineTransition
+
+
+
+
+Description
+
+
+
+Details
+
+GESTimelineTransition
+GESTimelineTransition
+typedef struct _GESTimelineTransition GESTimelineTransition;
+
+
+
+GESTimelineTransitionClass
+GESTimelineTransitionClass
+typedef struct {
+ GESTimelineObjectClass parent_class;
+} GESTimelineTransitionClass;
+
+
+
+
+ges_timeline_transition_new ()
+ges_timeline_transition_new
+GESTimelineTransition * ges_timeline_transition_new (void );
+
+
+Returns :
+
+
+
+
+
+
diff --git a/docs/libs/xml/ges-timeline.xml b/docs/libs/xml/ges-timeline.xml
new file mode 100644
index 0000000000..104ddc3461
--- /dev/null
+++ b/docs/libs/xml/ges-timeline.xml
@@ -0,0 +1,330 @@
+
+
+%version-entities;
+]>
+
+
+
+GESTimeline
+3
+
+ GES Library
+
+
+
+GESTimeline
+Multimedia timeline
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESTimeline;
+ GESTimelineClass;
+GESTimeline * ges_timeline_new (void );
+gboolean ges_timeline_add_layer (GESTimeline *timeline ,
+ GESTimelineLayer *layer );
+gboolean ges_timeline_remove_layer (GESTimeline *timeline ,
+ GESTimelineLayer *layer );
+gboolean ges_timeline_add_track (GESTimeline *timeline ,
+ GESTrack *track );
+gboolean ges_timeline_remove_track (GESTimeline *timeline ,
+ GESTrack *track );
+GESTrack * ges_timeline_get_track_for_pad (GESTimeline *timeline ,
+ GstPad *pad );
+GESTimeline * ges_timeline_load_from_uri (gchar *uri );
+gboolean ges_timeline_save (GESTimeline *timeline ,
+ gchar *uri );
+GList * ges_timeline_get_tracks (GESTimeline *timeline );
+
+
+
+Object Hierarchy
+
+ GObject
+ +---- GstObject
+ +---- GstElement
+ +---- GstBin
+ +----GESTimeline
+
+
+
+Implemented Interfaces
+
+GESTimeline implements
+ GstChildProxy.
+
+
+Signals
+
+ " layer-added" : Run First
+ " layer-removed" : Run First
+ " track-added" : Run First
+ " track-removed" : Run First
+
+
+
+
+Description
+
+GESTimeline is the central object for any multimedia timeline.
+
+
+Contains a list of GESTimelineLayer which users should use to arrange the
+various timeline objects through time.
+
+
+The output type is determined by the GESTimelineTrack that are set on
+the GESTimeline .
+
+
+
+Details
+
+GESTimeline
+GESTimeline
+typedef struct _GESTimeline GESTimeline;
+
+
+
+GESTimelineClass
+GESTimelineClass
+typedef struct {
+ GstBinClass parent_class;
+
+ void (*track_added) (GESTimeline *timeline, GESTrack * track);
+ void (*track_removed) (GESTimeline *timeline, GESTrack * track);
+ void (*layer_added) (GESTimeline *timeline, GESTimelineLayer *layer);
+ void (*layer_removed) (GESTimeline *timeline, GESTimelineLayer *layer);
+} GESTimelineClass;
+
+
+
+
+ges_timeline_new ()
+ges_timeline_new
+GESTimeline * ges_timeline_new (void );
+
+Creates a new empty GESTimeline .
+
+Returns : The new timeline.
+
+
+
+ges_timeline_add_layer ()
+ges_timeline_add_layer
+gboolean ges_timeline_add_layer (GESTimeline *timeline ,
+ GESTimelineLayer *layer );
+
+Add the layer to the timeline. The reference to the layer will be stolen
+by the timeline .
+
+timeline :
+a GESTimeline
+
+layer :
+the GESTimelineLayer to add
+
+Returns : TRUE if the layer was properly added, else FALSE.
+
+
+
+ges_timeline_remove_layer ()
+ges_timeline_remove_layer
+gboolean ges_timeline_remove_layer (GESTimeline *timeline ,
+ GESTimelineLayer *layer );
+
+Removes the layer from the timeline. The reference that the timeline holds on
+the layer will be dropped. If you wish to use the layer after calling this
+method, you need to take a reference before calling.
+
+timeline :
+a GESTimeline
+
+layer :
+the GESTimelineLayer to remove
+
+Returns : TRUE if the layer was properly removed, else FALSE.
+
+
+
+ges_timeline_add_track ()
+ges_timeline_add_track
+gboolean ges_timeline_add_track (GESTimeline *timeline ,
+ GESTrack *track );
+
+Add a track to the timeline. The reference to the track will be stolen by the
+pipeline.
+
+timeline :
+a GESTimeline
+
+track :
+the GESTrack to add
+
+Returns : TRUE if the track was properly added, else FALSE.
+
+
+
+ges_timeline_remove_track ()
+ges_timeline_remove_track
+gboolean ges_timeline_remove_track (GESTimeline *timeline ,
+ GESTrack *track );
+
+Remove the track from the timeline . The reference stolen when adding the
+track will be removed. If you wish to use the track after calling this
+function you must ensure that you have a reference to it.
+
+timeline :
+a GESTimeline
+
+track :
+the GESTrack to remove
+
+Returns : TRUE if the track was properly removed, else FALSE.
+
+
+
+ges_timeline_get_track_for_pad ()
+ges_timeline_get_track_for_pad
+GESTrack * ges_timeline_get_track_for_pad (GESTimeline *timeline ,
+ GstPad *pad );
+
+Search the GESTrack corresponding to the given timeline 's pad .
+
+timeline :
+The GESTimeline
+
+pad :
+The GstPad
+
+Returns : The corresponding GESTrack if it is found, or NULL if there is
+an error.
+
+
+
+ges_timeline_load_from_uri ()
+ges_timeline_load_from_uri
+GESTimeline * ges_timeline_load_from_uri (gchar *uri );
+
+Creates a timeline from the contents of given uri.
+
+
+NOT_IMPLEMENTED !
+
+uri :
+The URI to load from
+
+Returns : A new GESTimeline if loading was successful, else NULL.
+
+
+
+ges_timeline_save ()
+ges_timeline_save
+gboolean ges_timeline_save (GESTimeline *timeline ,
+ gchar *uri );
+
+Saves the timeline to the given location
+
+
+NOT_IMPLEMENTED !
+
+timeline :
+a GESTimeline
+
+uri :
+The location to save to
+
+Returns : TRUE if the timeline was successfully saved to the given location,
+else FALSE.
+
+
+
+ges_timeline_get_tracks ()
+ges_timeline_get_tracks
+GList * ges_timeline_get_tracks (GESTimeline *timeline );
+
+
+timeline :
+
+
+Returns :
+
+
+
+
+
+Signal Details
+The "layer-added" signal
+GESTimeline::layer-added
+void user_function (GESTimeline *timeline,
+ GESTimelineLayer *layer,
+ gpointer user_data) : Run First
+
+Will be emitted after the layer was added to the timeline.
+
+timeline :
+the GESTimeline
+
+layer :
+the GESTimelineLayer that was added to the timeline
+
+user_data :
+user data set when the signal handler was connected.
+ The "layer-removed" signal
+GESTimeline::layer-removed
+void user_function (GESTimeline *timeline,
+ GESTimelineLayer *layer,
+ gpointer user_data) : Run First
+
+Will be emitted after the layer was removed from the timeline.
+
+timeline :
+the GESTimeline
+
+layer :
+the GESTimelineLayer that was removed from the timeline
+
+user_data :
+user data set when the signal handler was connected.
+ The "track-added" signal
+GESTimeline::track-added
+void user_function (GESTimeline *timeline,
+ GESTrack *track,
+ gpointer user_data) : Run First
+
+Will be emitted after the track was added to the timeline.
+
+timeline :
+the GESTimeline
+
+track :
+the GESTrack that was added to the timeline
+
+user_data :
+user data set when the signal handler was connected.
+ The "track-removed" signal
+GESTimeline::track-removed
+void user_function (GESTimeline *timeline,
+ GESTrack *track,
+ gpointer user_data) : Run First
+
+Will be emitted after the track was removed from the timeline.
+
+timeline :
+the GESTimeline
+
+track :
+the GESTrack that was removed from the timeline
+
+user_data :
+user data set when the signal handler was connected.
+
+
+
+
diff --git a/docs/libs/xml/ges-track-filesource.xml b/docs/libs/xml/ges-track-filesource.xml
new file mode 100644
index 0000000000..fa6703458b
--- /dev/null
+++ b/docs/libs/xml/ges-track-filesource.xml
@@ -0,0 +1,98 @@
+
+
+%version-entities;
+]>
+
+
+
+GESTrackFileSource
+3
+
+ GES Library
+
+
+
+GESTrackFileSource
+
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESTrackFileSource;
+ GESTrackFileSourceClass;
+GESTrackFileSource * ges_track_filesource_new (gchar *uri );
+
+
+
+Object Hierarchy
+
+ GObject
+ +---- GESTrackObject
+ +---- GESTrackSource
+ +----GESTrackFileSource
+
+
+
+Properties
+
+ " uri" gchar * : Read / Write / Construct Only
+
+
+
+
+Description
+
+
+
+
+Details
+
+GESTrackFileSource
+GESTrackFileSource
+typedef struct {
+ gchar *uri;
+} GESTrackFileSource;
+
+
+
+
+GESTrackFileSourceClass
+GESTrackFileSourceClass
+typedef struct {
+ GESTrackObjectClass parent_class;
+} GESTrackFileSourceClass;
+
+
+
+
+ges_track_filesource_new ()
+ges_track_filesource_new
+GESTrackFileSource * ges_track_filesource_new (gchar *uri );
+
+
+uri :
+
+
+Returns :
+
+
+
+
+
+Property Details
+The "uri" property
+GESTrackFileSource:uri
+ "uri" gchar * : Read / Write / Construct Only
+
+The location of the file/resource to use.
+ Default value: NULL
+
+
+
+
diff --git a/docs/libs/xml/ges-track-object.xml b/docs/libs/xml/ges-track-object.xml
new file mode 100644
index 0000000000..8227d0d68e
--- /dev/null
+++ b/docs/libs/xml/ges-track-object.xml
@@ -0,0 +1,265 @@
+
+
+%version-entities;
+]>
+
+
+
+GESTrackObject
+3
+
+ GES Library
+
+
+
+GESTrackObject
+Base Class for objects contained in a GESTrack
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESTrackObject;
+ GESTrackObjectClass;
+#define GES_TRACK_OBJECT_DURATION (obj)
+#define GES_TRACK_OBJECT_INPOINT (obj)
+#define GES_TRACK_OBJECT_PRIORITY (obj)
+#define GES_TRACK_OBJECT_START (obj)
+gboolean ges_track_object_set_active (GESTrackObject *object ,
+ gboolean active );
+
+
+
+Object Hierarchy
+
+ GObject
+ +----GESTrackObject
+ +---- GESTrackSource
+
+
+
+Properties
+
+ " active" gboolean : Read / Write
+ " duration" guint64 : Read / Write
+ " in-point" guint64 : Read / Write
+ " priority" guint : Read / Write
+ " start" guint64 : Read / Write
+
+
+
+
+Description
+
+GESTrackObject is the Base Class for any object that can be contained in a
+GESTrack .
+
+
+It contains the basic information as to the location of the object within
+its container, like the start position, the in-point, the duration and the
+priority.
+
+
+
+Details
+
+GESTrackObject
+GESTrackObject
+typedef struct {
+ GESTimelineObject *timelineobj;
+ GESTrack *track;
+
+ gboolean valid;
+
+ /* Cached values of the gnlobject properties */
+ guint64 start;
+ guint64 inpoint;
+ guint64 duration;
+ guint32 priority;
+ gboolean active;
+} GESTrackObject;
+
+
+The GESTrackObject base class. Only sub-classes can access these fields.
+
+GESTimelineObject *timelineobj ;
+The GESTimelineObject to which this object belongs.
+
+
+GESTrack *track ;
+The GESTrack in which this object is.
+
+
+gboolean valid ;
+TRUE if the content of the gnlobject is valid.
+
+
+guint64 start ;
+Position (in nanoseconds) of the object the track.
+
+
+guint64 inpoint ;
+in-point (in nanoseconds) of the object in the track.
+
+
+guint64 duration ;
+Duration of the object
+
+
+guint32 priority ;
+Priority of the object in the track (0:top priority)
+
+
+gboolean active ;
+Whether the object is to be used or not.
+
+
+
+
+GESTrackObjectClass
+GESTrackObjectClass
+typedef struct {
+ GObjectClass parent_class;
+
+ /* virtual methods for subclasses */
+ gboolean (*create_gnl_object) (GESTrackObject * object);
+} GESTrackObjectClass;
+
+
+Subclasses can override the create_gnl_object method to override what type
+of GNonLin object will be created.
+
+GObjectClass parent_class ;
+
+
+
+create_gnl_object ()
+method to create the GNonLin container object.
+
+
+
+
+GES_TRACK_OBJECT_DURATION()
+GES_TRACK_OBJECT_DURATION
+#define GES_TRACK_OBJECT_DURATION(obj) (((GESTrackObject*)obj)->duration)
+
+
+The duration position of the object (in nanoseconds).
+
+obj :
+a GESTrackObject
+
+
+
+GES_TRACK_OBJECT_INPOINT()
+GES_TRACK_OBJECT_INPOINT
+#define GES_TRACK_OBJECT_INPOINT(obj) (((GESTrackObject*)obj)->inpoint)
+
+
+The in-point of the object (in nanoseconds).
+
+obj :
+a GESTrackObject
+
+
+
+GES_TRACK_OBJECT_PRIORITY()
+GES_TRACK_OBJECT_PRIORITY
+#define GES_TRACK_OBJECT_PRIORITY(obj) (((GESTrackObject*)obj)->priority)
+
+
+The priority of the object (in nanoseconds).
+
+obj :
+a GESTrackObject
+
+
+
+GES_TRACK_OBJECT_START()
+GES_TRACK_OBJECT_START
+#define GES_TRACK_OBJECT_START(obj) (((GESTrackObject*)obj)->start)
+
+
+The start position of the object (in nanoseconds).
+
+obj :
+a GESTrackObject
+
+
+
+ges_track_object_set_active ()
+ges_track_object_set_active
+gboolean ges_track_object_set_active (GESTrackObject *object ,
+ gboolean active );
+
+
+object :
+
+
+active :
+
+
+Returns :
+
+
+
+
+
+Property Details
+The "active" property
+GESTrackObject:active
+ "active" gboolean : Read / Write
+
+Whether the object should be taken into account in the GEStrack output.
+If FALSE , then its contents will not be used in the resulting track.
+ Default value: TRUE
+
+The "duration" property
+GESTrackObject:duration
+ "duration" guint64 : Read / Write
+
+The duration (in nanoseconds) which will be used in the container GESTrack
+starting from 'in-point'.
+ Default value: 1000000000
+
+The "in-point" property
+GESTrackObject:in-point
+ "in-point" guint64 : Read / Write
+
+The in-point at which this GESTrackObject 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.
+ Default value: 0
+
+The "priority" property
+GESTrackObject:priority
+ "priority" guint : Read / Write
+
+The priority of the object within the containing GESTrack .
+If two objects intersect over the same region of time, the priority
+property is used to decide which one takes precedence.
+
+
+The highest priority (that supercedes everything) is 0, and then lowering
+priorities go in increasing numerical value (with G_MAXUINT64 being the
+lowest priority).
+ Default value: 0
+
+The "start" property
+GESTrackObject:start
+ "start" guint64 : Read / Write
+
+The position of the object in the container GESTrack (in nanoseconds).
+ Default value: 0
+
+
+
+
diff --git a/docs/libs/xml/ges-track-source.xml b/docs/libs/xml/ges-track-source.xml
new file mode 100644
index 0000000000..e600835d3f
--- /dev/null
+++ b/docs/libs/xml/ges-track-source.xml
@@ -0,0 +1,75 @@
+
+
+%version-entities;
+]>
+
+
+
+GESTrackSource
+3
+
+ GES Library
+
+
+
+GESTrackSource
+Base Class for single-media sources
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESTrackSource;
+ GESTrackSourceClass;
+GESTrackSource * ges_track_source_new (void );
+
+
+
+Object Hierarchy
+
+ GObject
+ +---- GESTrackObject
+ +----GESTrackSource
+ +---- GESTrackFileSource
+
+
+
+
+Description
+
+
+
+Details
+
+GESTrackSource
+GESTrackSource
+typedef struct _GESTrackSource GESTrackSource;
+
+
+
+GESTrackSourceClass
+GESTrackSourceClass
+typedef struct {
+ GESTrackObjectClass parent_class;
+} GESTrackSourceClass;
+
+
+
+
+ges_track_source_new ()
+ges_track_source_new
+GESTrackSource * ges_track_source_new (void );
+
+
+Returns :
+
+
+
+
+
+
diff --git a/docs/libs/xml/ges-track.xml b/docs/libs/xml/ges-track.xml
new file mode 100644
index 0000000000..b1fa5d1b1f
--- /dev/null
+++ b/docs/libs/xml/ges-track.xml
@@ -0,0 +1,257 @@
+
+
+%version-entities;
+]>
+
+
+
+GESTrack
+3
+
+ GES Library
+
+
+
+GESTrack
+Composition of objects
+
+
+
+Synopsis
+
+
+#include <ges/ges.h>
+
+ GESTrack;
+enum GESTrackType;
+ GESTrackClass;
+GESTrack * ges_track_audio_raw_new ();
+GESTrack * ges_track_video_raw_new ();
+GESTrack * ges_track_new (GESTrackType type ,
+ GstCaps *caps );
+gboolean ges_track_add_object (GESTrack *track ,
+ GESTrackObject *object );
+gboolean ges_track_remove_object (GESTrack *track ,
+ GESTrackObject *object );
+void ges_track_set_caps (GESTrack *track ,
+ const GstCaps *caps );
+
+
+
+Object Hierarchy
+
+ GObject
+ +---- GstObject
+ +---- GstElement
+ +---- GstBin
+ +----GESTrack
+
+
+
+Implemented Interfaces
+
+GESTrack implements
+ GstChildProxy.
+
+
+Properties
+
+ " caps" GstCaps * : Read / Write / Construct
+ " track-type" GESTrackType : Read / Write / Construct Only
+
+
+
+
+Description
+
+Corresponds to one output format (i.e. audio OR video).
+
+
+Contains the compatible TrackObject(s).
+
+
+Wraps GNonLin's 'gnlcomposition' element.
+
+
+
+Details
+
+GESTrack
+GESTrack
+typedef struct {
+ GESTrackType type;
+} GESTrack;
+
+
+
+
+enum GESTrackType
+GESTrackType
+typedef enum {
+ GES_TRACK_TYPE_AUDIO = 0,
+ GES_TRACK_TYPE_VIDEO = 1,
+ GES_TRACK_TYPE_TEXT = 2,
+ GES_TRACK_TYPE_CUSTOM = 3
+} GESTrackType;
+
+
+Types of content handled by a track. If the content is not one of
+GEST_TRACK_TYPE_AUDIO , GES_TRACK_TYPE_VIDEO or GES_TRACK_TYPE_TEXT ,
+the user of the GESTrack must set the type to GES_TRACK_TYPE_CUSTOM .
+
+
+GES_TRACK_TYPE_AUDIO
+An audio track
+
+
+
+GES_TRACK_TYPE_VIDEO
+A video track
+
+
+
+GES_TRACK_TYPE_TEXT
+A text (subtitle) track
+
+
+
+GES_TRACK_TYPE_CUSTOM
+A custom-content track
+
+
+
+
+GESTrackClass
+GESTrackClass
+typedef struct {
+ GstBinClass parent_class;
+} GESTrackClass;
+
+
+
+
+ges_track_audio_raw_new ()
+ges_track_audio_raw_new
+GESTrack * ges_track_audio_raw_new ();
+
+Creates a new GESTrack of type GES_TRACK_TYPE_AUDIO and with generic
+raw audio caps ("audio/x-raw-int;audio/x-raw-float");
+
+Returns : A new GESTrack .
+
+
+
+ges_track_video_raw_new ()
+ges_track_video_raw_new
+GESTrack * ges_track_video_raw_new ();
+
+Creates a new GESTrack of type GES_TRACK_TYPE_VIDEO and with generic
+raw video caps ("video/x-raw-yuv;video/x-raw-rgb");
+
+Returns : A new GESTrack .
+
+
+
+ges_track_new ()
+ges_track_new
+GESTrack * ges_track_new (GESTrackType type ,
+ GstCaps *caps );
+
+Creates a new GESTrack with the given type and caps .
+
+
+The newly created track will steal a reference to the caps. If you wish to
+use those caps elsewhere, you will have to take an extra reference.
+
+type :
+The type of track
+
+caps :
+The caps to restrict the output of the track to.
+
+Returns : A new GESTrack .
+
+
+
+ges_track_add_object ()
+ges_track_add_object
+gboolean ges_track_add_object (GESTrack *track ,
+ GESTrackObject *object );
+
+Adds the given object to the track.
+
+track :
+a GESTrack
+
+object :
+the GESTrackObject to add
+
+Returns : TRUE if the object was properly added. FALSE if the track does not
+want to accept the object.
+
+
+
+ges_track_remove_object ()
+ges_track_remove_object
+gboolean ges_track_remove_object (GESTrack *track ,
+ GESTrackObject *object );
+
+Removes the object from the track.
+
+track :
+a GESTrack
+
+object :
+the GESTrackObject 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).
+
+
+
+ges_track_set_caps ()
+ges_track_set_caps
+void ges_track_set_caps (GESTrack *track ,
+ const GstCaps *caps );
+
+Sets the given caps on the track.
+
+track :
+a GESTrack
+
+caps :
+the GstCaps to set
+
+
+
+
+
+Property Details
+The "caps" property
+GESTrack:caps
+ "caps" GstCaps * : Read / Write / Construct
+
+Caps used to filter/choose the output stream. This is generally set to
+a generic set of caps like 'video/x-raw-rgb;video/x-raw-yuv' for raw video.
+
+
+Default value: GST_CAPS_ANY .
+
+The "track-type" property
+GESTrack:track-type
+ "track-type" GESTrackType : Read / Write / Construct Only
+
+Type of stream the track outputs. This is used when creating the GESTrack
+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 GESTrack without having to actually check the GESTrack 's caps
+property.
+ Default value: GES_TRACK_TYPE_CUSTOM
+
+
+
+
diff --git a/docs/libs/xml/object_index.sgml b/docs/libs/xml/object_index.sgml
new file mode 100644
index 0000000000..c76fe35b5b
--- /dev/null
+++ b/docs/libs/xml/object_index.sgml
@@ -0,0 +1,45 @@
+
+
+%version-entities;
+]>
+
+
+
+
+
+
+
+
+ GESCustomTimelineSource
+ GESSimpleTimelineLayer
+ GESTimeline
+
+
+ GESTimelineFileSource
+ GESTimelineLayer
+ GESTimelineObject
+
+
+ GESTimelinePipeline
+ GESTimelineSource
+ GESTimelineTransition
+
+
+ GESTrack
+ GESTrackFileSource
+ GESTrackObject
+
+
+ GESTrackSource
+ GObject
+ GstBin
+
+
+ GstElement
+ GstObject
+ GstPipeline
+
+
+
diff --git a/docs/libs/xml/tree_index.sgml b/docs/libs/xml/tree_index.sgml
new file mode 100644
index 0000000000..53732acf14
--- /dev/null
+++ b/docs/libs/xml/tree_index.sgml
@@ -0,0 +1,27 @@
+
+
+%version-entities;
+]>
+
+
+ GObject
+ GstObject
+ GstElement
+ GstBin
+ GstPipeline
+ GESTimelinePipeline
+ GESTrack
+ GESTimeline
+ GESTrackObject
+ GESTrackSource
+ GESTrackFileSource
+ GESTimelineLayer
+ GESSimpleTimelineLayer
+ GESTimelineObject
+ GESTimelineSource
+ GESTimelineFileSource
+ GESCustomTimelineSource
+ GESTimelineTransition
+
diff --git a/docs/libs/xml/version.entities b/docs/libs/xml/version.entities
new file mode 100644
index 0000000000..0b0bc73de2
--- /dev/null
+++ b/docs/libs/xml/version.entities
@@ -0,0 +1,2 @@
+
+
diff --git a/ges/ges-timeline-object.h b/ges/ges-timeline-object.h
index de70b0a72e..c7495470f7 100644
--- a/ges/ges-timeline-object.h
+++ b/ges/ges-timeline-object.h
@@ -62,6 +62,24 @@ typedef gboolean (*FillTrackObjectFunc) (GESTimelineObject * object,
GESTrackObject * trobject,
GstElement * gnlobj);
+/**
+ * CreateTrackObjectFunc:
+ * @object: a #GESTimelineObject
+ * @track: a #GESTrack
+ *
+ * A function that will be called when the @object is added to a
+ * #GESTimelineLayer.
+ *
+ * The implementer of this function shall return the proper #GESTrackObject
+ * that should be controlled by @object for the given @track.
+ *
+ * If the @object can't support the media-type of the @track, this function
+ * should return %NULL.
+ *
+ * Returns: the #GESTrackObject to be used, or %NULL.
+ */
+typedef GESTrackObject* (*CreateTrackObjectFunc) (GESTimelineObject * object,
+ GESTrack * track);
/**
* GES_TIMELINE_OBJECT_START:
@@ -131,8 +149,7 @@ struct _GESTimelineObject {
struct _GESTimelineObjectClass {
GObjectClass parent_class;
- GESTrackObject* (*create_track_object) (GESTimelineObject * object,
- GESTrack * track);
+ CreateTrackObjectFunc create_track_object;
/* FIXME : might need a release_track_object */
FillTrackObjectFunc fill_track_object;
gboolean need_fill_track;