From 505030b1a7bbd5f5a5c34691915e03ead62657db Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Tue, 18 May 2010 12:56:24 +0200 Subject: [PATCH] GESTimelineObject: Document CreateTrackObjectFunc vmethod --- docs/libs/doc-registry.xml | Bin 0 -> 253 bytes docs/libs/ges-decl-list.txt.bak | 294 +++++ docs/libs/ges-decl.txt.bak | 1125 ++++++++++++++++++++ docs/libs/ges-sections.txt | 1 + docs/libs/html/GESCustomTimelineSource.html | 175 +++ docs/libs/html/GESSimpleTimelineLayer.html | 192 ++++ docs/libs/html/GESTimeline.html | 505 +++++++++ docs/libs/html/GESTimelineFileSource.html | 153 +++ docs/libs/html/GESTimelineLayer.html | 289 +++++ docs/libs/html/GESTimelineObject.html | 454 ++++++++ docs/libs/html/GESTimelinePipeline.html | 279 +++++ docs/libs/html/GESTimelineSource.html | 102 ++ docs/libs/html/GESTimelineTransition.html | 100 ++ docs/libs/html/GESTrack.html | 347 ++++++ docs/libs/html/GESTrackFileSource.html | 132 +++ docs/libs/html/GESTrackObject.html | 348 ++++++ docs/libs/html/GESTrackSource.html | 101 ++ docs/libs/html/api-index-full.html | 446 ++++++++ docs/libs/html/architecture.xml | 115 ++ docs/libs/html/ch01.html | 49 + docs/libs/html/ch02.html | 62 ++ docs/libs/html/ch03.html | 33 + docs/libs/html/ch04.html | 38 + docs/libs/html/ges-Initialization.html | 65 ++ docs/libs/html/ges-architecture.html | 90 ++ docs/libs/html/ges-hierarchy.html | 50 + docs/libs/html/ges.devhelp | 135 +++ docs/libs/html/ges.devhelp2 | 144 +++ docs/libs/html/home.png | Bin 0 -> 654 bytes docs/libs/html/index.html | 87 ++ docs/libs/html/index.sgml | 197 ++++ docs/libs/html/layer_track_overview.png | Bin 0 -> 27255 bytes docs/libs/html/left.png | Bin 0 -> 459 bytes docs/libs/html/right.png | Bin 0 -> 472 bytes docs/libs/html/style.css | 257 +++++ docs/libs/html/up.png | Bin 0 -> 406 bytes docs/libs/tmpl/ges-common.sgml | 30 + docs/libs/tmpl/ges-common.sgml.bak | 32 + docs/libs/tmpl/ges-custom-timeline-source.sgml | 57 + docs/libs/tmpl/ges-custom-timeline-source.sgml.bak | 67 ++ docs/libs/tmpl/ges-simple-timeline-layer.sgml | 66 ++ docs/libs/tmpl/ges-simple-timeline-layer.sgml.bak | 68 ++ docs/libs/tmpl/ges-timeline-filesource.sgml | 59 + docs/libs/tmpl/ges-timeline-filesource.sgml.bak | 61 ++ docs/libs/tmpl/ges-timeline-layer.sgml | 96 ++ docs/libs/tmpl/ges-timeline-layer.sgml.bak | 98 ++ docs/libs/tmpl/ges-timeline-object.sgml | 149 +++ docs/libs/tmpl/ges-timeline-object.sgml.bak | 139 +++ docs/libs/tmpl/ges-timeline-pipeline.sgml | 86 ++ docs/libs/tmpl/ges-timeline-pipeline.sgml.bak | 88 ++ docs/libs/tmpl/ges-timeline-source.sgml | 44 + docs/libs/tmpl/ges-timeline-source.sgml.bak | 46 + docs/libs/tmpl/ges-timeline-transition.sgml | 44 + docs/libs/tmpl/ges-timeline-transition.sgml.bak | 46 + docs/libs/tmpl/ges-timeline.sgml | 158 +++ docs/libs/tmpl/ges-timeline.sgml.bak | 160 +++ docs/libs/tmpl/ges-track-filesource.sgml | 50 + docs/libs/tmpl/ges-track-filesource.sgml.bak | 52 + docs/libs/tmpl/ges-track-object.sgml | 111 ++ docs/libs/tmpl/ges-track-object.sgml.bak | 113 ++ docs/libs/tmpl/ges-track-source.sgml | 44 + docs/libs/tmpl/ges-track-source.sgml.bak | 46 + docs/libs/tmpl/ges-track.sgml | 111 ++ docs/libs/tmpl/ges-track.sgml.bak | 113 ++ docs/libs/tmpl/ges-unused.sgml | 0 docs/libs/xml/api-index-deprecated.xml | 9 + docs/libs/xml/api-index-full.xml | 120 +++ docs/libs/xml/ges-common.xml | 48 + docs/libs/xml/ges-custom-timeline-source.xml | 126 +++ docs/libs/xml/ges-doc.bottom | 14 + docs/libs/xml/ges-doc.top | 0 docs/libs/xml/ges-simple-timeline-layer.xml | 137 +++ docs/libs/xml/ges-timeline-filesource.xml | 116 ++ docs/libs/xml/ges-timeline-layer.xml | 200 ++++ docs/libs/xml/ges-timeline-object.xml | 328 ++++++ docs/libs/xml/ges-timeline-pipeline.xml | 207 ++++ docs/libs/xml/ges-timeline-source.xml | 76 ++ docs/libs/xml/ges-timeline-transition.xml | 74 ++ docs/libs/xml/ges-timeline.xml | 330 ++++++ docs/libs/xml/ges-track-filesource.xml | 98 ++ docs/libs/xml/ges-track-object.xml | 265 +++++ docs/libs/xml/ges-track-source.xml | 75 ++ docs/libs/xml/ges-track.xml | 257 +++++ docs/libs/xml/object_index.sgml | 45 + docs/libs/xml/tree_index.sgml | 27 + docs/libs/xml/version.entities | 2 + ges/ges-timeline-object.h | 21 +- 87 files changed, 11172 insertions(+), 2 deletions(-) create mode 100644 docs/libs/doc-registry.xml create mode 100644 docs/libs/ges-decl-list.txt.bak create mode 100644 docs/libs/ges-decl.txt.bak create mode 100644 docs/libs/html/GESCustomTimelineSource.html create mode 100644 docs/libs/html/GESSimpleTimelineLayer.html create mode 100644 docs/libs/html/GESTimeline.html create mode 100644 docs/libs/html/GESTimelineFileSource.html create mode 100644 docs/libs/html/GESTimelineLayer.html create mode 100644 docs/libs/html/GESTimelineObject.html create mode 100644 docs/libs/html/GESTimelinePipeline.html create mode 100644 docs/libs/html/GESTimelineSource.html create mode 100644 docs/libs/html/GESTimelineTransition.html create mode 100644 docs/libs/html/GESTrack.html create mode 100644 docs/libs/html/GESTrackFileSource.html create mode 100644 docs/libs/html/GESTrackObject.html create mode 100644 docs/libs/html/GESTrackSource.html create mode 100644 docs/libs/html/api-index-full.html create mode 100644 docs/libs/html/architecture.xml create mode 100644 docs/libs/html/ch01.html create mode 100644 docs/libs/html/ch02.html create mode 100644 docs/libs/html/ch03.html create mode 100644 docs/libs/html/ch04.html create mode 100644 docs/libs/html/ges-Initialization.html create mode 100644 docs/libs/html/ges-architecture.html create mode 100644 docs/libs/html/ges-hierarchy.html create mode 100644 docs/libs/html/ges.devhelp create mode 100644 docs/libs/html/ges.devhelp2 create mode 100644 docs/libs/html/home.png create mode 100644 docs/libs/html/index.html create mode 100644 docs/libs/html/index.sgml create mode 100644 docs/libs/html/layer_track_overview.png create mode 100644 docs/libs/html/left.png create mode 100644 docs/libs/html/right.png create mode 100644 docs/libs/html/style.css create mode 100644 docs/libs/html/up.png create mode 100644 docs/libs/tmpl/ges-common.sgml create mode 100644 docs/libs/tmpl/ges-common.sgml.bak create mode 100644 docs/libs/tmpl/ges-custom-timeline-source.sgml create mode 100644 docs/libs/tmpl/ges-custom-timeline-source.sgml.bak create mode 100644 docs/libs/tmpl/ges-simple-timeline-layer.sgml create mode 100644 docs/libs/tmpl/ges-simple-timeline-layer.sgml.bak create mode 100644 docs/libs/tmpl/ges-timeline-filesource.sgml create mode 100644 docs/libs/tmpl/ges-timeline-filesource.sgml.bak create mode 100644 docs/libs/tmpl/ges-timeline-layer.sgml create mode 100644 docs/libs/tmpl/ges-timeline-layer.sgml.bak create mode 100644 docs/libs/tmpl/ges-timeline-object.sgml create mode 100644 docs/libs/tmpl/ges-timeline-object.sgml.bak create mode 100644 docs/libs/tmpl/ges-timeline-pipeline.sgml create mode 100644 docs/libs/tmpl/ges-timeline-pipeline.sgml.bak create mode 100644 docs/libs/tmpl/ges-timeline-source.sgml create mode 100644 docs/libs/tmpl/ges-timeline-source.sgml.bak create mode 100644 docs/libs/tmpl/ges-timeline-transition.sgml create mode 100644 docs/libs/tmpl/ges-timeline-transition.sgml.bak create mode 100644 docs/libs/tmpl/ges-timeline.sgml create mode 100644 docs/libs/tmpl/ges-timeline.sgml.bak create mode 100644 docs/libs/tmpl/ges-track-filesource.sgml create mode 100644 docs/libs/tmpl/ges-track-filesource.sgml.bak create mode 100644 docs/libs/tmpl/ges-track-object.sgml create mode 100644 docs/libs/tmpl/ges-track-object.sgml.bak create mode 100644 docs/libs/tmpl/ges-track-source.sgml create mode 100644 docs/libs/tmpl/ges-track-source.sgml.bak create mode 100644 docs/libs/tmpl/ges-track.sgml create mode 100644 docs/libs/tmpl/ges-track.sgml.bak create mode 100644 docs/libs/tmpl/ges-unused.sgml create mode 100644 docs/libs/xml/api-index-deprecated.xml create mode 100644 docs/libs/xml/api-index-full.xml create mode 100644 docs/libs/xml/ges-common.xml create mode 100644 docs/libs/xml/ges-custom-timeline-source.xml create mode 100644 docs/libs/xml/ges-doc.bottom create mode 100644 docs/libs/xml/ges-doc.top create mode 100644 docs/libs/xml/ges-simple-timeline-layer.xml create mode 100644 docs/libs/xml/ges-timeline-filesource.xml create mode 100644 docs/libs/xml/ges-timeline-layer.xml create mode 100644 docs/libs/xml/ges-timeline-object.xml create mode 100644 docs/libs/xml/ges-timeline-pipeline.xml create mode 100644 docs/libs/xml/ges-timeline-source.xml create mode 100644 docs/libs/xml/ges-timeline-transition.xml create mode 100644 docs/libs/xml/ges-timeline.xml create mode 100644 docs/libs/xml/ges-track-filesource.xml create mode 100644 docs/libs/xml/ges-track-object.xml create mode 100644 docs/libs/xml/ges-track-source.xml create mode 100644 docs/libs/xml/ges-track.xml create mode 100644 docs/libs/xml/object_index.sgml create mode 100644 docs/libs/xml/tree_index.sgml create mode 100644 docs/libs/xml/version.entities diff --git a/docs/libs/doc-registry.xml b/docs/libs/doc-registry.xml new file mode 100644 index 0000000000000000000000000000000000000000..bedac4f5a29404b6f83821329fb701797a28cba0 GIT binary patch literal 253 zcmX?b?*p%ao}q!Bk+Gg31NmUH3M*LiiNa6b$fo3ECZ(qq>w>K)&Swb7DNWDJQ%K7% zQb@{4OwP{9EG|h+QAo?oNoCN_$j?pHPs+?m%1=$vFV8Q^)=x<-OU=e%S=wy2b!p_2Q;}@AI*3JJs@Oo@^N(b_VEl3A;4k)0NhPECIA2c literal 0 HcmV?d00001 diff --git a/docs/libs/ges-decl-list.txt.bak b/docs/libs/ges-decl-list.txt.bak new file mode 100644 index 0000000..bda47d4 --- /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 +
+ +
+ges +ges_init +
+ diff --git a/docs/libs/ges-decl.txt.bak b/docs/libs/ges-decl.txt.bak new file mode 100644 index 0000000..9c9b4db --- /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 4ffeab8..1835e60 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 0000000..db7c49c --- /dev/null +++ b/docs/libs/html/GESCustomTimelineSource.html @@ -0,0 +1,175 @@ + + + + +GESCustomTimelineSource + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESCustomTimelineSource

+

GESCustomTimelineSource — Convenience GESTimelineSource

+
+ +
+

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

+
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. +
+
+
+
+

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. +
+
+
+
+ + + \ 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 0000000..82cd31e --- /dev/null +++ b/docs/libs/html/GESSimpleTimelineLayer.html @@ -0,0 +1,192 @@ + + + + +GESSimpleTimelineLayer + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESSimpleTimelineLayer

+

GESSimpleTimelineLayer — High-level GESTimelineLayer

+
+ +
+

Object Hierarchy

+
+  GObject
+   +----GESTimelineLayer
+         +----GESSimpleTimelineLayer
+
+
+
+

Description

+

+GESSimpleTimelineLayer allows using GESTimelineObject(s) with a list-like +API. +

+
+
+

Details

+
+

GESSimpleTimelineLayer

+
typedef struct _GESSimpleTimelineLayer GESSimpleTimelineLayer;
+

+

+
+
+
+

GESSimpleTimelineLayerClass

+
typedef struct {
+  GESTimelineLayerClass parent_class;
+} GESSimpleTimelineLayerClass;
+
+

+

+
+
+
+

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 ()

+
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 0000000..64b087f --- /dev/null +++ b/docs/libs/html/GESTimeline.html @@ -0,0 +1,505 @@ + + + + +GESTimeline + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESTimeline

+

GESTimeline — Multimedia 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

+
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 0000000..c85a1ca --- /dev/null +++ b/docs/libs/html/GESTimelineFileSource.html @@ -0,0 +1,153 @@ + + + + +GESTimelineFileSource + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESTimelineFileSource

+

GESTimelineFileSource

+
+ +
+

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

+
typedef struct _GESTimelineFileSource GESTimelineFileSource;
+

+

+
+
+
+

GESTimelineFileSourceClass

+
typedef struct {
+  GESTimelineSourceClass parent_class;
+} GESTimelineFileSourceClass;
+
+

+

+
+
+
+

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

+
  "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 0000000..9fc53c5 --- /dev/null +++ b/docs/libs/html/GESTimelineLayer.html @@ -0,0 +1,289 @@ + + + + +GESTimelineLayer + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESTimelineLayer

+

GESTimelineLayer — Non-overlaping sequence of GESTimelineObject

+
+ +
+

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

+
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_new ()

+
GESTimelineLayer*   ges_timeline_layer_new              (void);
+

+Creates a new GESTimelineLayer. +

+
++ + + + +

Returns :

A new GESTimelineLayer +
+
+
+
+

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 ()

+
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 0000000..732c1f3 --- /dev/null +++ b/docs/libs/html/GESTimelineObject.html @@ -0,0 +1,454 @@ + + + + +GESTimelineObject + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESTimelineObject

+

GESTimelineObject — Base Class for objects in a GESTimelineLayer

+
+ +
+

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

+
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. +

+
++ + + + + + + + + + + + + + + + + + +

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 ()

+
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 ()

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

+
++ + + + +

obj :

a GESTimelineObject +
+
+
+
+

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()

+
#define GES_TIMELINE_OBJECT_PRIORITY(obj) (((GESTimelineObject*)obj)->priority)
+
+

+The priority of the object. +

+
++ + + + +

obj :

a GESTimelineObject +
+
+
+
+

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 ()

+
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 :

+
+
+
+
+

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

+
  "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 0000000..a03b21b --- /dev/null +++ b/docs/libs/html/GESTimelinePipeline.html @@ -0,0 +1,279 @@ + + + + +GESTimelinePipeline + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESTimelinePipeline

+

GESTimelinePipeline — Convenience GstPipeline for editing.

+
+ +
+

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

+
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_new ()

+
GESTimelinePipeline* ges_timeline_pipeline_new          (void);
+

+Creates a new conveninence GESTimelinePipeline. +

+
++ + + + +

Returns :

the new GESTimelinePipeline. +
+
+
+
+

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 ()

+
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 ()

+
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 0000000..86c9338 --- /dev/null +++ b/docs/libs/html/GESTimelineSource.html @@ -0,0 +1,102 @@ + + + + +GESTimelineSource + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESTimelineSource

+

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

+
typedef struct _GESTimelineSource GESTimelineSource;
+

+

+
+
+
+

GESTimelineSourceClass

+
typedef struct {
+  GESTimelineObjectClass parent_class;
+} GESTimelineSourceClass;
+
+

+

+
+
+
+

ges_timeline_source_new ()

+
GESTimelineSource*  ges_timeline_source_new             (void);
+

+

+
++ + + + +

Returns :

+
+
+
+
+ + + \ 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 0000000..152cd8a --- /dev/null +++ b/docs/libs/html/GESTimelineTransition.html @@ -0,0 +1,100 @@ + + + + +GESTimelineTransition + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESTimelineTransition

+

GESTimelineTransition — Base Class for transitions in a GESTimelineLayer

+
+ +
+

Object Hierarchy

+
+  GObject
+   +----GESTimelineObject
+         +----GESTimelineTransition
+
+
+
+

Description

+
+
+

Details

+
+

GESTimelineTransition

+
typedef struct _GESTimelineTransition GESTimelineTransition;
+

+

+
+
+
+

GESTimelineTransitionClass

+
typedef struct {
+  GESTimelineObjectClass parent_class;
+} GESTimelineTransitionClass;
+
+

+

+
+
+
+

ges_timeline_transition_new ()

+
GESTimelineTransition* ges_timeline_transition_new      (void);
+

+

+
++ + + + +

Returns :

+
+
+
+
+ + + \ 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 0000000..8e75ba4 --- /dev/null +++ b/docs/libs/html/GESTrack.html @@ -0,0 +1,347 @@ + + + + +GESTrack + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESTrack

+

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

+
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"); +

+
++ + + + +

Returns :

A new GESTrack. +
+
+
+
+

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 ()

+
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. +

+
++ + + + + + + + + + +

track :

a GESTrack +

caps :

the GstCaps to set +
+
+
+
+

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 0000000..6f23c56 --- /dev/null +++ b/docs/libs/html/GESTrackFileSource.html @@ -0,0 +1,132 @@ + + + + +GESTrackFileSource + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESTrackFileSource

+

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

+
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 0000000..805988e --- /dev/null +++ b/docs/libs/html/GESTrackObject.html @@ -0,0 +1,348 @@ + + + + +GESTrackObject + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESTrackObject

+

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

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

+
++ + + + +

obj :

a GESTrackObject +
+
+
+
+

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()

+
#define GES_TRACK_OBJECT_PRIORITY(obj) (((GESTrackObject*)obj)->priority)
+
+

+The priority of the object (in nanoseconds). +

+
++ + + + +

obj :

a GESTrackObject +
+
+
+
+

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 ()

+
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 0000000..c9f6938 --- /dev/null +++ b/docs/libs/html/GESTrackSource.html @@ -0,0 +1,101 @@ + + + + +GESTrackSource + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GESTrackSource

+

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

+
typedef struct _GESTrackSource GESTrackSource;
+

+

+
+
+
+

GESTrackSourceClass

+
typedef struct {
+  GESTrackObjectClass parent_class;
+} GESTrackSourceClass;
+
+

+

+
+
+
+

ges_track_source_new ()

+
GESTrackSource*     ges_track_source_new                (void);
+

+

+
++ + + + +

Returns :

+
+
+
+
+ + + \ 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 0000000..c71edc4 --- /dev/null +++ b/docs/libs/html/api-index-full.html @@ -0,0 +1,446 @@ + + + + +API Index + + + + + + + + + + + + + + + + + + +
+

+API Index

+

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 0000000..0465b55 --- /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 0000000..82f6809 --- /dev/null +++ b/docs/libs/html/ch01.html @@ -0,0 +1,49 @@ + + + + +GStreamer Editing Services Overview + + + + + + + + + + + + + + + + +
+

+GStreamer Editing Services Overview

+
+
+Overview and architecture +
+
+Initialization — Initialization. +
+
+

+ 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 0000000..a3f8f9b --- /dev/null +++ b/docs/libs/html/ch02.html @@ -0,0 +1,62 @@ + + + + +Base Classes + + + + + + + + + + + + + + + + +
+

+Base Classes

+
+
+GESTimeline — Multimedia timeline +
+
+GESTimelineLayer — Non-overlaping sequence of GESTimelineObject +
+
+GESTimelineObject — Base Class for objects in a GESTimelineLayer +
+
+GESTimelineSource — Base Class for sources of a GESTimelineLayer +
+
+GESTimelineFileSource +
+
+GESTimelineTransition — Base Class for transitions in a GESTimelineLayer +
+
+GESTrack — Composition of objects +
+
+GESTrackObject — Base Class for objects contained in a GESTrack +
+
+GESTrackSource — Base Class for single-media sources +
+
+GESTrackFileSource +
+
+
+ + + \ 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 0000000..0235a00 --- /dev/null +++ b/docs/libs/html/ch03.html @@ -0,0 +1,33 @@ + + + + +Simple Timeline interface + + + + + + + + + + + + + + + + +
+

+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 0000000..e6135aa --- /dev/null +++ b/docs/libs/html/ch04.html @@ -0,0 +1,38 @@ + + + + +Convenience classes + + + + + + + + + + + + + + + + +
+

+Convenience classes

+
+
+GESTimelinePipeline — Convenience GstPipeline for editing. +
+
+GESCustomTimelineSource — Convenience GESTimelineSource +
+
+
+ + + \ 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 0000000..4addf27 --- /dev/null +++ b/docs/libs/html/ges-Initialization.html @@ -0,0 +1,65 @@ + + + + +Initialization + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

Initialization

+

Initialization — Initialization.

+
+
+

Synopsis

+
+#include <ges/ges.h>
+
+void                ges_init                            (void);
+
+
+
+

Description

+
+
+

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 0000000..9b327c5 --- /dev/null +++ b/docs/libs/html/ges-architecture.html @@ -0,0 +1,90 @@ + + + + +Overview and architecture + + + + + + + + + + + + + + + + +
+
+
+

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

  • +
+
+

Figure 1. Layers and Tracks

+
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.

+
+
+
+ + + \ 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 0000000..1c2a786 --- /dev/null +++ b/docs/libs/html/ges-hierarchy.html @@ -0,0 +1,50 @@ + + + + +Object Hierarchy + + + + + + + + + + + + + + + + + + + + \ 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 0000000..d282e94 --- /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 0000000..2f7398d --- /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 0000000000000000000000000000000000000000..17003611d9df2b066afc682cbde962f3a575002d GIT binary patch literal 654 zcmV;90&)F`P)~yY zO1cF+0vxb!W?!x?K+*#62Jq)nA4q`)5S6sgX4ao{=)(Mgq+YMr)7sjak|a^9)zS!j zlk{-n29mabXYF=7SYBQx&vO8xC}MYams+hxqtO7sImhPaCf@rq;I^3!#u*2aUP)55 zT2&N90xmEJ0s&fGT~(T<3d2xYmK9C>IP*x-M@ib*+0pFm>>uW37N2Wzaq-fCnIZE9 zpb8}0+uN+KuQM2oZVHfP8U6kQdo3?>Wo2dT)WeM9So8DqhLi#T0 z-i(>mfjhvbsYV`;4sgfJ-p>G-SqJ!fjR6BQYs1h*y9xaN0l{VB;o%`08yiy@)$8@~ z2PD1gcDuiy;j1tR0v#V8OH%W)25-YKyx(j#IXO9*YWf0mb8}QG6@b@;cHxh9{t7+@ o!Yd`f8L$sLH?yBt^q3C6015TtIu@BS5dZ)H07*qoM6N<$f*igdr~m)} literal 0 HcmV?d00001 diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html new file mode 100644 index 0000000..20bf542 --- /dev/null +++ b/docs/libs/html/index.html @@ -0,0 +1,87 @@ + + + + +GStreamer Editing Services 0.10.0.1 Reference Manual + + + + + + + +
+
+
+
+

+ for GStreamer Editing Services 0.10 (0.10.0.1) +

+
+
+
+
+
GStreamer Editing Services Overview
+
+
+Overview and architecture +
+
+Initialization — Initialization. +
+
+
Base Classes
+
+
+GESTimeline — Multimedia timeline +
+
+GESTimelineLayer — Non-overlaping sequence of GESTimelineObject +
+
+GESTimelineObject — Base Class for objects in a GESTimelineLayer +
+
+GESTimelineSource — Base Class for sources of a GESTimelineLayer +
+
+GESTimelineFileSource +
+
+GESTimelineTransition — Base Class for transitions in a GESTimelineLayer +
+
+GESTrack — Composition of objects +
+
+GESTrackObject — Base Class for objects contained in a GESTrack +
+
+GESTrackSource — Base Class for single-media sources +
+
+GESTrackFileSource +
+
+
Simple Timeline interface
+
+GESSimpleTimelineLayer — High-level GESTimelineLayer +
+
Convenience classes
+
+
+GESTimelinePipeline — Convenience GstPipeline for editing. +
+
+GESCustomTimelineSource — Convenience GESTimelineSource +
+
+
Object Hierarchy
+
API Index
+
+
+ + + \ 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 0000000..622e6b6 --- /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 0000000000000000000000000000000000000000..8e2851735fdb1c255ba0a5077e3bf090b3a728ad GIT binary patch literal 27255 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 Y5mEH>JPwzcbRh($u6wumj_vdR1=;y5FaQ7m literal 0 HcmV?d00001 diff --git a/docs/libs/html/left.png b/docs/libs/html/left.png new file mode 100644 index 0000000000000000000000000000000000000000..2d05b3d5b4aeec9384bbfe404bfc4ed0897051c4 GIT binary patch literal 459 zcmV;+0W|)JP)40xL?wO*>WZ(J#ML5j2<9jD6A%Q&kC}jOeEc;X{s;`zcnxLeZR6?6h#^ihmNF6NpGdilO$m<82oD9WQ|6nVv1`? z>KufRi{?QPXg;4;wroQu4?mN1Ydd@|kaQ|ZyWLK!)yi7Wb%=0{}lD)tfliHAUyWRQ+fD_;aV6j->y6!O_8bENg6P)Cd4HCN^TYHBC0dz3r5|}*T3c5!K}0^NPTey!^rYo;W&eW{b1SE%dR-1ljcju- zJITo5P_e{cPDWDszO|97o#m$fni3V4d%~7^?0HU4-k!+X`e~w55Q}HA=c?CM9`EK` z^o5GF_RsnG`ey+9wOf8O4bzg>7W*;jU~M?g`OZAA$mNp|Lz<$s+~N9!2`ir8RcClo$(Q~19INM~9}j;&*|enC yGd}kJak0wj?aUKd8;%}`i}SSew>!A-2iw}^5}Rh(M>+vRkipZ{&t;ucLK6U4uc96R literal 0 HcmV?d00001 diff --git a/docs/libs/tmpl/ges-common.sgml b/docs/libs/tmpl/ges-common.sgml new file mode 100644 index 0000000..8d81a8a --- /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 0000000..79db3fc --- /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 0000000..b76573d --- /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 0000000..4783fab --- /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 0000000..0f5982c --- /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 0000000..fc31cdd --- /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 0000000..2149d90f --- /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 0000000..a5a0ed2 --- /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 0000000..0618e0e --- /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 0000000..b4b31e8 --- /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 0000000..c36abb6 --- /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 0000000..7aa27f0 --- /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 0000000..458dc74 --- /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 0000000..5b05722 --- /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 0000000..4a31045 --- /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 0000000..f617dff --- /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 0000000..389e5e6 --- /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 0000000..6b01367 --- /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 0000000..8598b6e --- /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 0000000..a99a81c --- /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 0000000..fa42d78 --- /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 0000000..cd17837 --- /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 0000000..4e34c84 --- /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 0000000..26a7a16 --- /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 0000000..c2ef8ad --- /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 0000000..02abfeb --- /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 0000000..c6b7247 --- /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 0000000..46d5bce --- /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 0000000..e69de29 diff --git a/docs/libs/xml/api-index-deprecated.xml b/docs/libs/xml/api-index-deprecated.xml new file mode 100644 index 0000000..3a1ff30 --- /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 0000000..9747d3a --- /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 0000000..c7c24d1 --- /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 0000000..b00ba3e --- /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 0000000..4635aab --- /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 0000000..e69de29 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 0000000..59b936e --- /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 0000000..30572b9 --- /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 <literal>"max-duration"</literal> 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 <literal>"mute"</literal> property +GESTimelineFileSource:mute + "mute" gboolean : Read / Write / Construct + +Whether the sound will be played or not. +Default value: FALSE + +The <literal>"uri"</literal> 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 0000000..aa24a90 --- /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 <literal>"priority"</literal> 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 <literal>"object-added"</literal> 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 <literal>"object-removed"</literal> 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 0000000..a35cd11 --- /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 <literal>"duration"</literal> 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 <literal>"in-point"</literal> 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 <literal>"priority"</literal> property +GESTimelineObject:priority + "priority" guint : Read / Write +The priority of the object.Default value: 0 + +The <literal>"start"</literal> 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 0000000..27e64e7 --- /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 0000000..2190cb7 --- /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 0000000..650dccf --- /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 0000000..104ddc3 --- /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 <literal>"layer-added"</literal> 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 <literal>"layer-removed"</literal> 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 <literal>"track-added"</literal> 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 <literal>"track-removed"</literal> 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 0000000..fa67034 --- /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 <literal>"uri"</literal> 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 0000000..8227d0d --- /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 <literal>"active"</literal> 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 <literal>"duration"</literal> 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 <literal>"in-point"</literal> 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 <literal>"priority"</literal> 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 <literal>"start"</literal> 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 0000000..e600835 --- /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 0000000..b1fa5d1 --- /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 <literal>"caps"</literal> 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 <literal>"track-type"</literal> 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 0000000..c76fe35 --- /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 0000000..53732ac --- /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 0000000..0b0bc73 --- /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 de70b0a..c749547 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; -- 2.7.4