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