diff --git a/docs/libs/#ges-sections.txt# b/docs/libs/#ges-sections.txt# new file mode 100644 index 0000000000..dd3a39524c --- /dev/null +++ b/docs/libs/#ges-sections.txt# @@ -0,0 +1,646 @@ +ges/ges.h + +
+ges-common +Initialization +ges_init + +GES_PADDING +
+ +
+ges-utils +Utilities + +
+ +
+ges-enums +GES Enums +GESVideoStandardTransitionType +GESTrackType +GESTextHAlign +DEFAULT_HALIGNMENT +GESTextVAlign +DEFAULT_VALIGNMENT +GESVideoTestPattern + +GES_TYPE_TRACK_TYPE +ges_track_type_get_type +GES_TEXT_HALIGN_TYPE +ges_text_halign_get_type +GES_TEXT_VALIGN_TYPE +ges_text_valign_get_type +GES_VIDEO_TEST_PATTERN_TYPE +ges_video_test_pattern_get_type +GES_VIDEO_STANDARD_TRANSITION_TYPE_TYPE +ges_video_standard_transition_type_get_type +
+ +
+ges-track +GESTrack +GESTrack +ges_track_audio_raw_new +ges_track_video_raw_new +ges_track_new +ges_track_add_object +ges_track_remove_object +ges_track_set_caps +ges_track_get_caps + +GESTrackClass +GESTrackPrivate +ges_track_set_timeline +ges_track_get_timeline +ges_track_get_type +GES_IS_TRACK +GES_IS_TRACK_CLASS +GES_TRACK +GES_TRACK_CLASS +GES_TRACK_GET_CLASS +GES_TYPE_TRACK +
+ +
+ges-track-object +GESTrackObject +GESTrackObject +GESTrackObjectClass +ges_track_object_set_active +ges_track_object_get_track +ges_track_object_get_timeline_object +ges_track_object_get_gnlobject +ges_track_object_get_element + +GES_TRACK_OBJECT_DURATION +GES_TRACK_OBJECT_INPOINT +GES_TRACK_OBJECT_START +ges_track_object_get_priority_offset +GESTrackObjectPrivate +ges_track_object_set_timeline_object +ges_track_object_set_track +ges_track_object_set_duration_internal +ges_track_object_set_inpoint_internal +fges_track_object_set_priority_internal +ges_track_object_set_priority_offset_internal +ges_track_object_set_start_internal +ges_track_object_get_type +GES_IS_TRACK_OBJECT +GES_IS_TRACK_OBJECT_CLASS +GES_TRACK_OBJECT +GES_TRACK_OBJECT_CLASS +GES_TRACK_OBJECT_GET_CLASS +GES_TYPE_TRACK_OBJECT +
+ +
+ges-track-source +GESTrackSource +GESTrackSource +GESTrackSourceClass + +GESTrackSourcePrivate +GES_TRACK_SOURCE +GES_TRACK_SOURCE_CLASS +GES_TRACK_SOURCE_GET_CLASS +GES_TYPE_TRACK_SOURCE +GES_IS_TRACK_SOURCE +GES_IS_TRACK_SOURCE_CLASS +ges_track_source_get_type +
+ +
+ges-track-operation +GESTrackOperation +GESTrackOperation +GESTrackOperationClass + +GESTrackOperationPrivate +ges_track_operation_get_type +GES_IS_TRACK_OPERATION +GES_IS_TRACK_OPERATION_CLASS +GES_TRACK_OPERATION +GES_TRACK_OPERATION_CLASS +GES_TRACK_OPERATION_GET_CLASS +GES_TYPE_TRACK_OPERATION +
+ +
+ges-track-filesource +GESTrackFileSource +GESTrackFileSource +ges_track_filesource_new + +GESTrackFileSourceClass +GESTrackFileSourcePrivate +GES_TRACK_FILESOURCE +GES_TRACK_FILESOURCE_CLASS +GES_TRACK_FILESOURCE_GET_CLASS +GES_TYPE_TRACK_FILESOURCE +GES_IS_TRACK_FILESOURCE +GES_IS_TRACK_FILESOURCE_CLASS +ges_track_filesource_get_type +
+ +
+ges-track-image-source +GESTrackImageSource +GESTrackImageSource +ges_track_image_source_new + +GESTrackImageSourcePrivate +GES_IS_TRACK_IMAGE_SOURCE +GES_IS_TRACK_IMAGE_SOURCE_CLASS +GES_TRACK_IMAGE_SOURCE +GES_TRACK_IMAGE_SOURCE_CLASS +GES_TRACK_IMAGE_SOURCE_GET_CLASS +GES_TYPE_TRACK_IMAGE_SOURCE +GESTrackImageSourceClass +ges_track_image_source_get_type +
+ +
+ges-track-transition +GESTrackTransition +GESTrackTransition +GESTrackTransitionClass + +GESTrackTransitionPrivate +GES_IS_TRACK_TRANSITION +GES_IS_TRACK_TRANSITION_CLASS +GES_TRACK_TRANSITION +GES_TRACK_TRANSITION_CLASS +GES_TRACK_TRANSITION_GET_CLASS +GES_TYPE_TRACK_TRANSITION +ges_track_transition_get_type +
+ +
+ges-track-audio-transition +GESTrackAudioTransition +GESTrackAudioTransition +ges_track_audio_transition_new + +GESTrackAudioTransitionClass +GESTrackAudioTransitionPrivate +GES_IS_TRACK_AUDIO_TRANSITION +ges_track_audio_transition_get_type +GES_IS_TRACK_AUDIO_TRANSITION_CLASS +GES_TRACK_AUDIO_TRANSITION +GES_TRACK_AUDIO_TRANSITION_CLASS +GES_TRACK_AUDIO_TRANSITION_GET_CLASS +GES_TYPE_TRACK_AUDIO_TRANSITION +
+ +
+ges-track-video-transition +GESTrackVideoTransition +GESTrackVideoTransition +ges_track_video_transition_new +ges_track_video_transition_set_type + +GESTrackVideoTransitionClass +GESTrackVideoTransitionPrivate +ges_track_video_transition_get_type +GES_IS_TRACK_VIDEO_TRANSITION +GES_IS_TRACK_VIDEO_TRANSITION_CLASS +GES_TRACK_VIDEO_TRANSITION +GES_TRACK_VIDEO_TRANSITION_CLASS +GES_TRACK_VIDEO_TRANSITION_GET_CLASS +GES_TYPE_TRACK_VIDEO_TRANSITION +
+ +
+ges-timeline +GESTimeline +GESTimeline +ges_timeline_new +ges_timeline_new_audio_video +ges_timeline_new_from_uri +ges_timeline_add_layer +ges_timeline_remove_layer +ges_timeline_add_track +ges_timeline_remove_track +ges_timeline_load_from_uri +ges_timeline_save_to_uri + +ges_timeline_get_tracks +ges_timeline_get_track_for_pad + +GESTimelineClass +ges_timeline_get_type +GES_IS_TIMELINE +GES_IS_TIMELINE_CLASS +GES_TIMELINE +GES_TIMELINE_CLASS +GES_TIMELINE_GET_CLASS +GES_TYPE_TIMELINE +
+ + +
+ges-timeline-layer +GESTimelineLayer +GESTimelineLayer +GESTimelineLayerClass +ges_timeline_layer_add_object +ges_timeline_layer_new +ges_timeline_layer_remove_object +ges_timeline_layer_set_priority +ges_timeline_layer_get_priority +ges_timeline_layer_get_objects + +GESTimelineLayerPrivate +ges_timeline_layer_set_timeline +ges_timeline_layer_get_type +GES_IS_TIMELINE_LAYER +GES_IS_TIMELINE_LAYER_CLASS +GES_TIMELINE_LAYER +GES_TIMELINE_LAYER_CLASS +GES_TIMELINE_LAYER_GET_CLASS +GES_TYPE_TIMELINE_LAYER +
+ + +
+ges-timeline-object +GESTimelineObject +GESTimelineObject +GESTimelineObjectClass +GESCreateTrackObjectFunc +GESCreateTrackObjectsFunc +GESFillTrackObjectFunc +ges_timeline_object_set_inpoint +ges_timeline_object_set_start +ges_timeline_object_set_duration +ges_timeline_object_get_layer +ges_timeline_object_find_track_object +ges_timeline_object_add_track_object + +GES_TIMELINE_OBJECT_DURATION +GES_TIMELINE_OBJECT_INPOINT +GES_TIMELINE_OBJECT_PRIORITY +GES_TIMELINE_OBJECT_START +GES_TIMELINE_OBJECT_HEIGHT +ges_timeline_object_create_track_objects +ges_timeline_object_create_track_object +ges_timeline_object_fill_track_object +ges_timeline_object_release_track_object +ges_timeline_object_get_track_objects +ges_timeline_object_set_layer +ges_timeline_object_set_priority +GESTimelineObjectPrivate +GES_IS_TIMELINE_OBJECT +GES_IS_TIMELINE_OBJECT_CLASS +GES_TIMELINE_OBJECT +GES_TIMELINE_OBJECT_CLASS +GES_TIMELINE_OBJECT_GET_CLASS +GES_TYPE_TIMELINE_OBJECT +ges_timeline_object_get_type +
+ + +
+ges-timeline-pipeline +GESTimelinePipeline +GESTimelinePipeline +GESPipelineFlags +ges_timeline_pipeline_new +ges_timeline_pipeline_add_timeline +ges_timeline_pipeline_set_mode +ges_timeline_pipeline_set_render_settings +ges_timeline_pipeline_get_thumbnail_buffer +ges_timeline_pipeline_get_thumbnail_rgb24 +ges_timeline_pipeline_save_thumbnail + +GESTimelinePipelineClass +GESTimelinePipelinePrivate +ges_play_sink_convert_frame +ges_timeline_pipeline_get_type +GES_TIMELINE_PIPELINE +GES_TIMELINE_PIPELINE_CLASS +GES_TIMELINE_PIPELINE_GET_CLASS +GES_IS_TIMELINE_PIPELINE +GES_IS_TIMELINE_PIPELINE_CLASS +GES_TYPE_TIMELINE_PIPELINE +
+ + +
+ges-timeline-source +GESTimelineSource +GESTimelineSource +GESTimelineSourceClass + +GESTimelineSourcePrivate +ges_timeline_source_get_type +GES_IS_TIMELINE_SOURCE +GES_IS_TIMELINE_SOURCE_CLASS +GES_TIMELINE_SOURCE +GES_TIMELINE_SOURCE_CLASS +GES_TIMELINE_SOURCE_GET_CLASS +GES_TYPE_TIMELINE_SOURCE +
+ +
+ges-timeline-filesource +GESTimelineFileSource +GESTimelineFileSource +ges_timeline_filesource_new + +GESTimelineFileSourceClass +ges_timeline_filesource_get_type +GES_IS_TIMELINE_FILE_SOURCE +GES_IS_TIMELINE_FILE_SOURCE_CLASS +GES_TIMELINE_FILE_SOURCE +GES_TIMELINE_FILE_SOURCE_CLASS +GES_TIMELINE_FILE_SOURCE_GET_CLASS +GES_TYPE_TIMELINE_FILE_SOURCE +
+ +
+ges-timeline-operation +GESTimelineOperation +GESTimelineOperation + +GESTimelineOperationClass +GESTimelineOperationPrivate +GES_TIMELINE_OPERATION +GES_IS_TIMELINE_OPERATION +GES_TYPE_TIMELINE_OPERATION +ges_timeline_operation_get_type +GES_TIMELINE_OPERATION_CLASS +GES_IS_TIMELINE_OPERATION_CLASS +GES_TIMELINE_OPERATION_GET_CLASS +
+ +
+ges-timeline-overlay +GESTimelineOverlay +GESTimelineOverlay +GESTimelineOverlayClass + +GESTimelineOverlayPrivate +ges_timeline_overlay_get_type +GES_IS_TIMELINE_OVERLAY +GES_IS_TIMELINE_OVERLAY_CLASS +GES_TIMELINE_OVERLAY +GES_TIMELINE_OVERLAY_CLASS +GES_TIMELINE_OVERLAY_GET_CLASS +GES_TYPE_TIMELINE_OVERLAY +
+ +
+ges-timeline-transition +GESTimelineTransition +GESTimelineTransition + +GESTimelineTransitionClass +GESTimelineTransitionPrivate +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-timeline-standard-transition +GESTimelineStandardTransition +GESTimelineStandardTransition +ges_timeline_standard_transition_new +ges_timeline_standard_transition_new_for_nick + +GESTimelineStandardTransitionClass +GESTimelineStandardTransitionPrivate +GES_IS_TIMELINE_STANDARD_TRANSITION +GES_IS_TIMELINE_STANDARD_TRANSITION_CLASS +GES_TIMELINE_STANDARD_TRANSITION +GES_TIMELINE_STANDARD_TRANSITION_CLASS +GES_TIMELINE_STANDARD_TRANSITION_GET_CLASS +GES_TYPE_TIMELINE_STANDARD_TRANSITION +ges_timeline_standard_transition_get_type +
+ + +
+ges-custom-timeline-source +GESCustomTimelineSource +GESCustomTimelineSource +GESFillTrackObjectUserFunc +ges_custom_timeline_source_new + +GESCustomTimelineSourceClass +ges_custom_timeline_source_get_type +GESCustomTimelineSourcePrivate +GES_CUSTOM_TIMELINE_SOURCE +GES_CUSTOM_TIMELINE_SOURCE_CLASS +GES_CUSTOM_TIMELINE_SOURCE_GET_CLASS +GES_IS_CUSTOM_TIMELINE_SOURCE +GES_IS_CUSTOM_TIMELINE_SOURCE_CLASS +GES_TYPE_CUSTOM_TIMELINE_SOURCE +
+ +
+ges-simple-timeline-layer +GESSimpleTimelineLayer +GESSimpleTimelineLayer +ges_simple_timeline_layer_new +ges_simple_timeline_layer_add_object +ges_simple_timeline_layer_move_object +ges_simple_timeline_layer_nth +ges_simple_timeline_layer_is_valid + +GESSimpleTimelineLayerClass +ges_simple_timeline_layer_get_type +GESSimpleTimelineLayerPrivate +GES_IS_SIMPLE_TIMELINE_LAYER +GES_IS_SIMPLE_TIMELINE_LAYER_CLASS +GES_SIMPLE_TIMELINE_LAYER +GES_SIMPLE_TIMELINE_LAYER_CLASS +GES_SIMPLE_TIMELINE_LAYER_GET_CLASS +GES_TYPE_SIMPLE_TIMELINE_LAYER +
+ +
+ges-timeline-test-source +GESTimelineTestSource +GESTimelineTestSource +GESTimelineTestSourceClass +ges_timeline_test_source_new +ges_timeline_test_source_new_for_nick + +GESTimelineTestSourcePrivate +ges_timeline_test_source_get_type +GES_TYPE_TIMELINE_TEST_SOURCE +GES_IS_TIMELINE_TEST_SOURCE +GES_IS_TIMELINE_TEST_SOURCE_CLASS +GES_TIMELINE_TEST_SOURCE +GES_TIMELINE_TEST_SOURCE_CLASS +GES_TIMELINE_TEST_SOURCE_GET_CLASS +
+ +
+ges-timeline-title-source +GESTimelineTitleSource +GESTimelineTitleSource +ges_timeline_title_source_new + +GESTimelineTitleSourceClass +GESTimelineTitleSourcePrivate +ges_timeline_title_source_get_type +GES_IS_TIMELINE_TITLE_SOURCE +GES_IS_TIMELINE_TITLE_SOURCE_CLASS +GES_TIMELINE_TITLE_SOURCE +GES_TIMELINE_TITLE_SOURCE_CLASS +GES_TIMELINE_TITLE_SOURCE_GET_CLASS +
+ +
+ges-timeline-text-overlay +GESTimelineTextOverlay +GESTimelineTextOverlay +ges_timeline_text_overlay_new + +GESTimelineTextOverlayClass +GESTimelineTextOverlayPrivate +ges_timeline_text_overlay_get_type +GES_IS_TIMELINE_TEXT_OVERLAY +GES_IS_TIMELINE_TEXT_OVERLAY_CLASS +GES_TIMELINE_TEXT_OVERLAY +GES_TIMELINE_TEXT_OVERLAY_CLASS +GES_TIMELINE_TEXT_OVERLAY_GET_CLASS +GES_TYPE_TIMELINE_TEXT_OVERLAY +
+ +
+ges-track-video-test-source +GESTrackVideoTestSource +GESTrackVideoTestSource +ges_track_video_test_source_new +ges_track_video_test_source_set_pattern + +GESTrackVideoTestSourceClass +GESTrackVideoTestSourcePrivate +ges_track_video_test_source_get_type +GES_IS_TRACK_VIDEO_TEST_SOURCE +GES_IS_TRACK_VIDEO_TEST_SOURCE_CLASS +GES_TRACK_VIDEO_TEST_SOURCE +GES_TRACK_VIDEO_TEST_SOURCE_CLASS +GES_TRACK_VIDEO_TEST_SOURCE_GET_CLASS +GES_TYPE_TRACK_VIDEO_TEST_SOURCE +
+ +
+ges-track-audio-test-source +GESTrackAudioTestSource +GESTrackAudioTestSource +ges_track_audio_test_source_new +ges_track_audio_test_source_set_freq +ges_track_audio_test_source_set_volume + +GESTrackAudioTestSourceClass +GESTrackAudioTestSourcePrivate +ges_track_audio_test_source_get_type +GES_TRACK_AUDIO_TEST_SOURCE +GES_TRACK_AUDIO_TEST_SOURCE_CLASS +GES_TRACK_AUDIO_TEST_SOURCE_GET_CLASS +GES_TYPE_TRACK_AUDIO_TEST_SOURCE +GES_IS_TRACK_AUDIO_TEST_SOURCE +GES_IS_TRACK_AUDIO_TEST_SOURCE_CLASS +
+ +
+ges-track-title-source +GESTrackTitleSource +GESTrackTitleSource +ges_track_title_source_set_text +ges_track_title_source_set_font_desc +ges_track_title_source_set_halignment +ges_track_title_source_set_valignment +ges_track_title_source_new + +GESTrackTitleSourceClass +GESTrackTitleSourcePrivate +ges_track_title_source_get_type +GES_TRACK_TITLE_SOURCE +GES_TRACK_TITLE_SOURCE_CLASS +GES_TRACK_TITLE_SOURCE_GET_CLASS +GES_TYPE_TIMELINE_TITLE_SOURCE +GES_TYPE_TRACK_TITLE_SOURCE +GES_IS_TRACK_TITLE_SOURCE +GES_IS_TRACK_TITLE_SOURCE_CLASS +
+ +
+ges-track-text-overlay +GESTrackTextOverlay +GESTrackTextOverlay +ges_track_text_overlay_new +ges_track_text_overlay_set_font_desc +ges_track_text_overlay_set_halignment +ges_track_text_overlay_set_text +ges_track_text_overlay_set_valignment + +GESTrackTextOverlayClass +GESTrackTextOverlayPrivate +ges_track_text_overlay_get_type +GES_IS_TRACK_TEXT_OVERLAY +GES_IS_TRACK_TEXT_OVERLAY_CLASS +GES_TRACK_TEXT_OVERLAY +GES_TRACK_TEXT_OVERLAY_CLASS +GES_TRACK_TEXT_OVERLAY_GET_CLASS +GES_TYPE_TRACK_TEXT_OVERLAY +
+ +
+ges-formatter +GESFormatter +GESFormatter +GESFormatterClass +GESFormatterLoadFromURIMethod +GESFormatterSaveToURIMethod +ges_default_formatter_new +ges_formatter_load_from_uri +ges_formatter_save_to_uri +ges_formatter_new_for_uri +ges_formatter_can_load_uri +ges_formatter_can_save_uri + +ges_formatter_get_type +GES_FORMATTER +GES_FORMATTER_CLASS +GES_FORMATTER_GET_CLASS +GES_IS_FORMATTER +GES_IS_FORMATTER_CLASS +GES_TYPE_FORMATTER + +ges_formatter_load +ges_formatter_save +ges_formatter_set_data +ges_formatter_clear_data +ges_formatter_get_data +GESFormatterCanLoadURIMethod +GESFormatterCanSaveURIMethod +GESFormatterLoadMethod +GESFormatterSaveMethod +
+ +
+ges-keyfile-formatter +GESKeyFileFormatter +GESKeyfileFormatter +ges_keyfile_formatter_new + +GESKeyfileFormatterClass +GES_IS_KEYFILE_FORMATTER +GES_IS_KEYFILE_FORMATTER_CLASS +GES_KEYFILE_FORMATTER +GES_KEYFILE_FORMATTER_CLASS +GES_KEYFILE_FORMATTER_GET_CLASS +GES_TYPE_KEYFILE_FORMATTER +ges_keyfile_formatter_get_type +
diff --git a/docs/libs/.#ges-sections.txt b/docs/libs/.#ges-sections.txt new file mode 120000 index 0000000000..fef8ca2667 --- /dev/null +++ b/docs/libs/.#ges-sections.txt @@ -0,0 +1 @@ +bilboed@hostia.28194:1287103486 \ No newline at end of file diff --git a/docs/libs/ges-decl-list.txt.bak b/docs/libs/ges-decl-list.txt.bak new file mode 100644 index 0000000000..9b0cbe3583 --- /dev/null +++ b/docs/libs/ges-decl-list.txt.bak @@ -0,0 +1,690 @@ +
+ges-track-transition +GESTrackTransition +GESTrackTransitionPrivate +GESTrackTransition +GESTrackTransitionClass + +GES_TRACK_TRANSITION +GES_IS_TRACK_TRANSITION +GES_TYPE_TRACK_TRANSITION +ges_track_transition_get_type +GES_TRACK_TRANSITION_CLASS +GES_IS_TRACK_TRANSITION_CLASS +GES_TRACK_TRANSITION_GET_CLASS +
+ +
+ges-timeline-source +GESTimelineSource +GESTimelineSourcePrivate +GESTimelineSource +GESTimelineSourceClass + +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-formatter +GESFormatter +GESFormatter +GESFormatterCanLoadURIMethod +GESFormatterCanSaveURIMethod +GESFormatterLoadFromURIMethod +GESFormatterSaveToURIMethod +GESFormatterSaveMethod +GESFormatterLoadMethod +GESFormatterClass +ges_formatter_new_for_uri +ges_default_formatter_new +ges_formatter_can_load_uri +ges_formatter_can_save_uri +ges_formatter_load_from_uri +ges_formatter_save_to_uri +ges_formatter_load +ges_formatter_save +ges_formatter_set_data +ges_formatter_get_data +ges_formatter_clear_data + +GES_FORMATTER +GES_IS_FORMATTER +GES_TYPE_FORMATTER +ges_formatter_get_type +GES_FORMATTER_CLASS +GES_IS_FORMATTER_CLASS +GES_FORMATTER_GET_CLASS +
+ +
+ges-track-operation +GESTrackOperation +GESTrackOperationPrivate +GESTrackOperation +GESTrackOperationClass + +GES_TRACK_OPERATION +GES_IS_TRACK_OPERATION +GES_TYPE_TRACK_OPERATION +ges_track_operation_get_type +GES_TRACK_OPERATION_CLASS +GES_IS_TRACK_OPERATION_CLASS +GES_TRACK_OPERATION_GET_CLASS +
+ +
+ges-timeline-text-overlay +GESTimelineTextOverlay +GESTimelineTextOverlayPrivate +GESTimelineTextOverlay +GESTimelineTextOverlayClass +ges_timeline_text_overlay_new + +GES_TIMELINE_TEXT_OVERLAY +GES_IS_TIMELINE_TEXT_OVERLAY +GES_TYPE_TIMELINE_TEXT_OVERLAY +ges_timeline_text_overlay_get_type +GES_TIMELINE_TEXT_OVERLAY_CLASS +GES_IS_TIMELINE_TEXT_OVERLAY_CLASS +GES_TIMELINE_TEXT_OVERLAY_GET_CLASS +
+ +
+ges-timeline-transition +GESTimelineTransition +GESTimelineTransitionPrivate +GESTimelineTransition +GESTimelineTransitionClass + +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-audio-test-source +GESTrackAudioTestSource +GESTrackAudioTestSourcePrivate +GESTrackAudioTestSource +GESTrackAudioTestSourceClass +ges_track_audio_test_source_new +ges_track_audio_test_source_set_freq +ges_track_audio_test_source_set_volume + +GES_TRACK_AUDIO_TEST_SOURCE +GES_IS_TRACK_AUDIO_TEST_SOURCE +GES_TYPE_TRACK_AUDIO_TEST_SOURCE +ges_track_audio_test_source_get_type +GES_TRACK_AUDIO_TEST_SOURCE_CLASS +GES_IS_TRACK_AUDIO_TEST_SOURCE_CLASS +GES_TRACK_AUDIO_TEST_SOURCE_GET_CLASS +
+ +
+ges-timeline-standard-transition +GESTimelineStandardTransition +GESTimelineStandardTransitionPrivate +GESTimelineStandardTransition +GESTimelineStandardTransitionClass +ges_timeline_standard_transition_new +ges_timeline_standard_transition_new_for_nick + +GES_TIMELINE_STANDARD_TRANSITION +GES_IS_TIMELINE_STANDARD_TRANSITION +GES_TYPE_TIMELINE_STANDARD_TRANSITION +ges_timeline_standard_transition_get_type +GES_TIMELINE_STANDARD_TRANSITION_CLASS +GES_IS_TIMELINE_STANDARD_TRANSITION_CLASS +GES_TIMELINE_STANDARD_TRANSITION_GET_CLASS +
+ +
+ges-track-source +GESTrackSource +GESTrackSourcePrivate +GESTrackSource +GESTrackSourceClass + +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 +GESTrackPrivate +GESTrack +GESTrackClass +ges_track_new +ges_track_set_timeline +ges_track_set_caps +ges_track_get_caps +ges_track_get_timeline +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_get_type +GES_TRACK_CLASS +GES_IS_TRACK_CLASS +GES_TRACK_GET_CLASS +
+ +
+ges-track-video-test-source +GESTrackVideoTestSource +GESTrackVideoTestSourcePrivate +GESTrackVideoTestSource +GESTrackVideoTestSourceClass +ges_track_video_test_source_new +ges_track_video_test_source_set_pattern + +GES_TRACK_VIDEO_TEST_SOURCE +GES_IS_TRACK_VIDEO_TEST_SOURCE +GES_TYPE_TRACK_VIDEO_TEST_SOURCE +ges_track_video_test_source_get_type +GES_TRACK_VIDEO_TEST_SOURCE_CLASS +GES_IS_TRACK_VIDEO_TEST_SOURCE_CLASS +GES_TRACK_VIDEO_TEST_SOURCE_GET_CLASS +
+ +
+ges-timeline +GESTimeline +GESTimeline +GESTimelineClass +ges_timeline_new +ges_timeline_new_from_uri +ges_timeline_load_from_uri +ges_timeline_save_to_uri +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-test-source +GESTimelineTestSource +GESTimelineTestSourcePrivate +GESTimelineTestSource +GESTimelineTestSourceClass +ges_timeline_test_source_new +ges_timeline_test_source_new_for_nick + +GES_TIMELINE_TEST_SOURCE +GES_IS_TIMELINE_TEST_SOURCE +GES_TYPE_TIMELINE_TEST_SOURCE +ges_timeline_test_source_get_type +GES_TIMELINE_TEST_SOURCE_CLASS +GES_IS_TIMELINE_TEST_SOURCE_CLASS +GES_TIMELINE_TEST_SOURCE_GET_CLASS +
+ +
+ges-timeline-object +GESTimelineObject +GESTimelineObjectPrivate +GESFillTrackObjectFunc +GESCreateTrackObjectFunc +GESCreateTrackObjectsFunc +GES_TIMELINE_OBJECT_START +GES_TIMELINE_OBJECT_INPOINT +GES_TIMELINE_OBJECT_DURATION +GES_TIMELINE_OBJECT_PRIORITY +GES_TIMELINE_OBJECT_HEIGHT +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_create_track_objects +ges_timeline_object_release_track_object +ges_timeline_object_fill_track_object +ges_timeline_object_find_track_object +ges_timeline_object_get_track_objects +ges_timeline_object_get_layer +ges_timeline_object_add_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 +GESSimpleTimelineLayerPrivate +GESSimpleTimelineLayer +GESSimpleTimelineLayerClass +ges_simple_timeline_layer_new +ges_simple_timeline_layer_add_object +ges_simple_timeline_layer_move_object +ges_simple_timeline_layer_is_valid +ges_simple_timeline_layer_nth + +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-track-image-source +GESTrackImageSource +GESTrackImageSourcePrivate +GESTrackImageSource +GESTrackImageSourceClass +ges_track_image_source_new + +GES_TRACK_IMAGE_SOURCE +GES_IS_TRACK_IMAGE_SOURCE +GES_TYPE_TRACK_IMAGE_SOURCE +ges_track_image_source_get_type +GES_TRACK_IMAGE_SOURCE_CLASS +GES_IS_TRACK_IMAGE_SOURCE_CLASS +GES_TRACK_IMAGE_SOURCE_GET_CLASS +
+ +
+ges-timeline-layer +GESTimelineLayer +GESTimelineLayerPrivate +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_get_priority +ges_timeline_layer_get_objects + +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-track-video-transition +GESTrackVideoTransition +GESTrackVideoTransitionPrivate +GESTrackVideoTransition +GESTrackVideoTransitionClass +ges_track_video_transition_set_type +ges_track_video_transition_new + +GES_TRACK_VIDEO_TRANSITION +GES_IS_TRACK_VIDEO_TRANSITION +GES_TYPE_TRACK_VIDEO_TRANSITION +ges_track_video_transition_get_type +GES_TRACK_VIDEO_TRANSITION_CLASS +GES_IS_TRACK_VIDEO_TRANSITION_CLASS +GES_TRACK_VIDEO_TRANSITION_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_timeline_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 +GESTrackObjectPrivate +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_priority_offset_internal +ges_track_object_get_priority_offset +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 +GESTimelinePipelinePrivate +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_get_thumbnail_buffer +ges_timeline_pipeline_get_thumbnail_rgb24 +ges_timeline_pipeline_save_thumbnail + +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-timeline-operation +GESTimelineOperation +GESTimelineOperationPrivate +GESTimelineOperation +GESTimelineOperationClass + +GES_TIMELINE_OPERATION +GES_IS_TIMELINE_OPERATION +GES_TYPE_TIMELINE_OPERATION +ges_timeline_operation_get_type +GES_TIMELINE_OPERATION_CLASS +GES_IS_TIMELINE_OPERATION_CLASS +GES_TIMELINE_OPERATION_GET_CLASS +
+ +
+ges-timeline-overlay +GESTimelineOverlay +GESTimelineOverlayPrivate +GESTimelineOverlay +GESTimelineOverlayClass + +GES_TIMELINE_OVERLAY +GES_IS_TIMELINE_OVERLAY +GES_TYPE_TIMELINE_OVERLAY +ges_timeline_overlay_get_type +GES_TIMELINE_OVERLAY_CLASS +GES_IS_TIMELINE_OVERLAY_CLASS +GES_TIMELINE_OVERLAY_GET_CLASS +
+ +
+ges-custom-timeline-source +GESCustomTimelineSource +GESCustomTimelineSourcePrivate +GESFillTrackObjectUserFunc +GESCustomTimelineSource +GESCustomTimelineSourceClass +ges_custom_timeline_source_new + +GES_CUSTOM_TIMELINE_SOURCE +GES_IS_CUSTOM_TIMELINE_SOURCE +GES_TYPE_CUSTOM_TIMELINE_SOURCE +ges_custom_timeline_source_get_type +GES_CUSTOM_TIMELINE_SOURCE_CLASS +GES_IS_CUSTOM_TIMELINE_SOURCE_CLASS +GES_CUSTOM_TIMELINE_SOURCE_GET_CLASS +
+ +
+ges-track-title-source +GESTrackTitleSource +GESTrackTitleSourcePrivate +GESTrackTitleSource +GESTrackTitleSourceClass +ges_track_title_source_set_text +ges_track_title_source_set_font_desc +ges_track_title_source_set_halignment +ges_track_title_source_set_valignment +ges_track_title_source_new + +GES_TRACK_TITLE_SOURCE +GES_IS_TRACK_TITLE_SOURCE +GES_TYPE_TRACK_TITLE_SOURCE +ges_track_title_source_get_type +GES_TRACK_TITLE_SOURCE_CLASS +GES_IS_TRACK_TITLE_SOURCE_CLASS +GES_TRACK_TITLE_SOURCE_GET_CLASS +
+ +
+ges-track-audio-transition +GESTrackAudioTransition +GESTrackAudioTransitionPrivate +GESTrackAudioTransition +GESTrackAudioTransitionClass +ges_track_audio_transition_new + +GES_TRACK_AUDIO_TRANSITION +GES_IS_TRACK_AUDIO_TRANSITION +GES_TYPE_TRACK_AUDIO_TRANSITION +ges_track_audio_transition_get_type +GES_TRACK_AUDIO_TRANSITION_CLASS +GES_IS_TRACK_AUDIO_TRANSITION_CLASS +GES_TRACK_AUDIO_TRANSITION_GET_CLASS +
+ +
+ges-timeline-title-source +GESTimelineTitleSource +GESTimelineTitleSourcePrivate +GESTimelineTitleSource +GESTimelineTitleSourceClass +ges_timeline_title_source_new + +GES_TIMELINE_TITLE_SOURCE +GES_IS_TIMELINE_TITLE_SOURCE +GES_TYPE_TIMELINE_TITLE_SOURCE +ges_timeline_title_source_get_type +GES_TIMELINE_TITLE_SOURCE_CLASS +GES_IS_TIMELINE_TITLE_SOURCE_CLASS +GES_TIMELINE_TITLE_SOURCE_GET_CLASS +
+ +
+ges-keyfile-formatter +GESKeyfileFormatter +GESKeyfileFormatter +GESKeyfileFormatterClass +ges_keyfile_formatter_new + +GES_KEYFILE_FORMATTER +GES_IS_KEYFILE_FORMATTER +GES_TYPE_KEYFILE_FORMATTER +ges_keyfile_formatter_get_type +GES_KEYFILE_FORMATTER_CLASS +GES_IS_KEYFILE_FORMATTER_CLASS +GES_KEYFILE_FORMATTER_GET_CLASS +
+ +
+ges-track-filesource +GESTrackFileSource +GESTrackFileSourcePrivate +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-track-text-overlay +GESTrackTextOverlay +GESTrackTextOverlayPrivate +GESTrackTextOverlay +GESTrackTextOverlayClass +ges_track_text_overlay_set_text +ges_track_text_overlay_set_font_desc +ges_track_text_overlay_set_halignment +ges_track_text_overlay_set_valignment +ges_track_text_overlay_new + +GES_TRACK_TEXT_OVERLAY +GES_IS_TRACK_TEXT_OVERLAY +GES_TYPE_TRACK_TEXT_OVERLAY +ges_track_text_overlay_get_type +GES_TRACK_TEXT_OVERLAY_CLASS +GES_IS_TRACK_TEXT_OVERLAY_CLASS +GES_TRACK_TEXT_OVERLAY_GET_CLASS +
+ +
+ges-types +GES_PADDING +GESCustomTimelineSource +GESCustomTimelineSourceClass +GESSimpleTimelineLayer +GESSimpleTimelineLayerClass +GESTimeline +GESTimelineClass +GESTimelineLayer +GESTimelineLayerClass +GESTimelineObject +GESTimelineObjectClass +GESTimelineOperation +GESTimelineOperationClass +GESTimelinePipeline +GESTimelinePipelineClass +GESTimelineSource +GESTimelineSourceClass +GESTimelineFileSource +GESTimelineFileSourceClass +GESTimelineTransition +GESTimelineTransitionClass +GESTimelineStandardTransition +GESTimelineStandardTransitionClass +GESTimelineTestSource +GESTimelineTestSourceClass +GESTimelineTitleSource +GESTimelineTitleSourceClass +GESTimelineOverlay +GESTimelineOverlayClass +GESTimelineTextOverlay +GESTimelineTextOverlayClass +GESTrack +GESTrackClass +GESTrackObject +GESTrackObjectClass +GESTrackSource +GESTrackSourceClass +GESTrackOperation +GESTrackOperationClass +GESTrackFileSource +GESTrackFileSourceClass +GESTrackImageSource +GESTrackImageSourceClass +GESTrackTransition +GESTrackTransitionClass +GESTrackAudioTransition +GESTrackVideoTransition +GESTrackVideoTestSource +GESTrackAudioTestSource +GESTrackTitleSource +GESTrackTextOverlay +GESFormatter +GESFormatterClass +GESKeyfileFormatter +GESKeyfileFormatterClass +
+ +
+ges +ges_init +
+ +
+ges-enums +GES_TYPE_TRACK_TYPE +ges_track_type_get_type +GESTrackType +GESVideoStandardTransitionType +GES_VIDEO_STANDARD_TRANSITION_TYPE_TYPE +ges_video_standard_transition_type_get_type +GESTextVAlign +DEFAULT_VALIGNMENT +GES_TEXT_VALIGN_TYPE +ges_text_valign_get_type +GESTextHAlign +DEFAULT_HALIGNMENT +GES_TEXT_HALIGN_TYPE +ges_text_halign_get_type +GESVideoTestPattern +GES_VIDEO_TEST_PATTERN_TYPE +ges_video_test_pattern_get_type +
+ +
+ges-screenshot +ges_play_sink_convert_frame +
+ +
+ges-utils +ges_timeline_new_audio_video +
+ diff --git a/docs/libs/ges-decl.txt.bak b/docs/libs/ges-decl.txt.bak new file mode 100644 index 0000000000..2e1eb75191 --- /dev/null +++ b/docs/libs/ges-decl.txt.bak @@ -0,0 +1,2919 @@ + +GES_PADDING +#define GES_PADDING 4 + + +GESCustomTimelineSource + + +GESCustomTimelineSourceClass + + +GESSimpleTimelineLayer + + +GESSimpleTimelineLayerClass + + +GESTimeline + + +GESTimelineClass + + +GESTimelineLayer + + +GESTimelineLayerClass + + +GESTimelineObject + + +GESTimelineObjectClass + + +GESTimelineOperation + + +GESTimelineOperationClass + + +GESTimelinePipeline + + +GESTimelinePipelineClass + + +GESTimelineSource + + +GESTimelineSourceClass + + +GESTimelineFileSource + + +GESTimelineFileSourceClass + + +GESTimelineTransition + + +GESTimelineTransitionClass + + +GESTimelineStandardTransition + + +GESTimelineStandardTransitionClass + + +GESTimelineTestSource + + +GESTimelineTestSourceClass + + +GESTimelineTitleSource + + +GESTimelineTitleSourceClass + + +GESTimelineOverlay + + +GESTimelineOverlayClass + + +GESTimelineTextOverlay + + +GESTimelineTextOverlayClass + + +GESTrack + + +GESTrackClass + + +GESTrackObject + + +GESTrackObjectClass + + +GESTrackSource + + +GESTrackSourceClass + + +GESTrackOperation + + +GESTrackOperationClass + + +GESTrackFileSource + + +GESTrackFileSourceClass + + +GESTrackImageSource + + +GESTrackImageSourceClass + + +GESTrackTransition + + +GESTrackTransitionClass + + +GESTrackAudioTransition + + +GESTrackVideoTransition + + +GESTrackVideoTestSource + + +GESTrackAudioTestSource + + +GESTrackTitleSource + + +GESTrackTextOverlay + + +GESFormatter + + +GESFormatterClass + + +GESKeyfileFormatter + + +GESKeyfileFormatterClass + + +GES_TYPE_TRACK_TRANSITION +#define GES_TYPE_TRACK_TRANSITION ges_track_transition_get_type() + + +GES_TRACK_TRANSITION +#define GES_TRACK_TRANSITION(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_TRANSITION,\ + GESTrackTransition)) + + +GES_TRACK_TRANSITION_CLASS +#define GES_TRACK_TRANSITION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_TRANSITION,\ + GESTrackTransitionClass)) + + +GES_IS_TRACK_TRANSITION +#define GES_IS_TRACK_TRANSITION(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_TRANSITION)) + + +GES_IS_TRACK_TRANSITION_CLASS +#define GES_IS_TRACK_TRANSITION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_TRANSITION)) + + +GES_TRACK_TRANSITION_GET_CLASS +#define GES_TRACK_TRANSITION_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_TRANSITION,\ + GESTrackTransitionClass)) + + +GESTrackTransitionPrivate + + +GESTrackTransition +struct _GESTrackTransition +{ + /*< private >*/ + GESTrackOperation parent; + + GESTrackTransitionPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackTransitionClass +struct _GESTrackTransitionClass { + /*< private >*/ + GESTrackOperationClass parent_class; + + /*< private >*/ + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_transition_get_type +GType +void + + +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)) + + +GESTimelineSourcePrivate + + +GESTimelineSource +struct _GESTimelineSource { + GESTimelineObject parent; + + /*< private >*/ + GESTimelineSourcePrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineSourceClass +struct _GESTimelineSourceClass { + /*< private >*/ + GESTimelineObjectClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_timeline_source_get_type +GType +void + + +GES_TYPE_FORMATTER +#define GES_TYPE_FORMATTER ges_formatter_get_type() + + +GES_FORMATTER +#define GES_FORMATTER(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_FORMATTER, GESFormatter)) + + +GES_FORMATTER_CLASS +#define GES_FORMATTER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_FORMATTER, GESFormatterClass)) + + +GES_IS_FORMATTER +#define GES_IS_FORMATTER(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_FORMATTER)) + + +GES_IS_FORMATTER_CLASS +#define GES_IS_FORMATTER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_FORMATTER)) + + +GES_FORMATTER_GET_CLASS +#define GES_FORMATTER_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_FORMATTER, GESFormatterClass)) + + +GESFormatter +struct _GESFormatter { + GObject parent; + + /*< private >*/ + gchar *data; + gsize length; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESFormatterCanLoadURIMethod +gboolean +gchar * uri + + +GESFormatterCanSaveURIMethod +gboolean +gchar * uri + + +GESFormatterLoadFromURIMethod +gboolean +GESFormatter *formatter, + GESTimeline *timeline, + gchar * uri + + +GESFormatterSaveToURIMethod +gboolean +GESFormatter *formatter, + GESTimeline *timeline, + gchar * uri + + +GESFormatterSaveMethod +gboolean +GESFormatter * formatter, + GESTimeline * timeline + + +GESFormatterLoadMethod +gboolean +GESFormatter * formatter, + GESTimeline * timeline + + +GESFormatterClass +struct _GESFormatterClass { + GObjectClass parent_class; + + /* FIXME : formatter name */ + /* FIXME : formatter description */ + /* FIXME : format name/mime-type */ + + GESFormatterCanLoadURIMethod can_load_uri; + GESFormatterCanSaveURIMethod can_save_uri; + GESFormatterLoadFromURIMethod load_from_uri; + GESFormatterSaveToURIMethod save_to_uri; + + /*< private >*/ + GESFormatterSaveMethod save; + GESFormatterLoadMethod load; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_formatter_get_type +GType +void + + +ges_formatter_new_for_uri +GESFormatter * +gchar *uri + + +ges_default_formatter_new +GESFormatter * +void + + +ges_formatter_can_load_uri +gboolean +gchar * uri + + +ges_formatter_can_save_uri +gboolean +gchar * uri + + +ges_formatter_load_from_uri +gboolean +GESFormatter * formatter, GESTimeline *timeline, gchar *uri + + +ges_formatter_save_to_uri +gboolean +GESFormatter * formatter, GESTimeline *timeline, gchar *uri + + +ges_formatter_load +gboolean +GESFormatter * formatter, GESTimeline * timeline + + +ges_formatter_save +gboolean +GESFormatter * formatter, GESTimeline * timeline + + +ges_formatter_set_data +void +GESFormatter * formatter, void *data, gsize length + + +ges_formatter_get_data +void * +GESFormatter *formatter, gsize *length + + +ges_formatter_clear_data +void +GESFormatter *formatter + + +GES_TYPE_TRACK_OPERATION +#define GES_TYPE_TRACK_OPERATION ges_track_operation_get_type() + + +GES_TRACK_OPERATION +#define GES_TRACK_OPERATION(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_OPERATION, GESTrackOperation)) + + +GES_TRACK_OPERATION_CLASS +#define GES_TRACK_OPERATION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_OPERATION, GESTrackOperationClass)) + + +GES_IS_TRACK_OPERATION +#define GES_IS_TRACK_OPERATION(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_OPERATION)) + + +GES_IS_TRACK_OPERATION_CLASS +#define GES_IS_TRACK_OPERATION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_OPERATION)) + + +GES_TRACK_OPERATION_GET_CLASS +#define GES_TRACK_OPERATION_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_OPERATION, GESTrackOperationClass)) + + +GESTrackOperationPrivate + + +GESTrackOperation +struct _GESTrackOperation { + /*< private >*/ + GESTrackObject parent; + + GESTrackOperationPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackOperationClass +struct _GESTrackOperationClass { + /*< private >*/ + GESTrackObjectClass parent_class; + + /*< private >*/ + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_operation_get_type +GType +void + + +GES_TYPE_TIMELINE_TEXT_OVERLAY +#define GES_TYPE_TIMELINE_TEXT_OVERLAY ges_timeline_text_overlay_get_type() + + +GES_TIMELINE_TEXT_OVERLAY +#define GES_TIMELINE_TEXT_OVERLAY(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_TEXT_OVERLAY, GESTimelineTextOverlay)) + + +GES_TIMELINE_TEXT_OVERLAY_CLASS +#define GES_TIMELINE_TEXT_OVERLAY_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_TEXT_OVERLAY, GESTimelineTextOverlayClass)) + + +GES_IS_TIMELINE_TEXT_OVERLAY +#define GES_IS_TIMELINE_TEXT_OVERLAY(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_TEXT_OVERLAY)) + + +GES_IS_TIMELINE_TEXT_OVERLAY_CLASS +#define GES_IS_TIMELINE_TEXT_OVERLAY_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_TEXT_OVERLAY)) + + +GES_TIMELINE_TEXT_OVERLAY_GET_CLASS +#define GES_TIMELINE_TEXT_OVERLAY_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_TEXT_OVERLAY, GESTimelineTextOverlayClass)) + + +GESTimelineTextOverlayPrivate + + +GESTimelineTextOverlay +struct _GESTimelineTextOverlay { + /*< private >*/ + GESTimelineOverlay parent; + + gboolean mute; + gchar *text; + gchar *font_desc; + GESTextHAlign halign; + GESTextVAlign valign; + + GESTimelineTextOverlayPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineTextOverlayClass +struct _GESTimelineTextOverlayClass { + /*< private >*/ + + GESTimelineOverlayClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_timeline_text_overlay_get_type +GType +void + + +ges_timeline_text_overlay_new +GESTimelineTextOverlay* +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)) + + +GESTimelineTransitionPrivate + + +GESTimelineTransition +struct _GESTimelineTransition { + /*< private >*/ + GESTimelineOperation parent; + + /*< private >*/ + GESTimelineTransitionPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineTransitionClass +struct _GESTimelineTransitionClass { + /*< private >*/ + GESTimelineOperationClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_timeline_transition_get_type +GType +void + + +ges_init +void +void + + +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_UNKNOWN = 1 << 0, + GES_TRACK_TYPE_AUDIO = 1 << 1, + GES_TRACK_TYPE_VIDEO = 1 << 2, + GES_TRACK_TYPE_TEXT = 1 << 3, + GES_TRACK_TYPE_CUSTOM = 1 << 4, +} GESTrackType; + + +GESVideoStandardTransitionType +typedef enum { + GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE = 0, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR = 1, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB = 2, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL = 3, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR = 4, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR = 5, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL = 6, + GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI = 7, + GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO = 8, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V = 21, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H = 22, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC = 23, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC = 24, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC = 25, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC = 26, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL = 41, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR = 42, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V = 43, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H = 44, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL = 45, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL = 46, + GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD = 47, + GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD = 48, + GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D = 61, + GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L = 62, + GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U = 63, + GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R = 64, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D = 65, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L = 66, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U = 67, + GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R = 68, + GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT = 101, + GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12 = 201, + GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3 = 202, + GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6 = 203, + GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9 = 204, + GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV = 205, + GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH = 206, + GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB = 207, + GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT = 211, + GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR = 212, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV = 213, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH = 214, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT = 221, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR = 222, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB = 223, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL = 224, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV = 225, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD = 226, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV = 227, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH = 228, + GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T = 231, + GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R = 232, + GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B = 233, + GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L = 234, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV = 235, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH = 236, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL = 241, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL = 242, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR = 243, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR = 244, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL = 245, + GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL = 246, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T = 251, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L = 252, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B = 253, + GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R = 254, + GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R = 261, + GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U = 262, + GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V = 263, + GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H = 264, + GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE = 512 +} GESVideoStandardTransitionType; + + +GES_VIDEO_STANDARD_TRANSITION_TYPE_TYPE +#define GES_VIDEO_STANDARD_TRANSITION_TYPE_TYPE \ + (ges_video_standard_transition_type_get_type()) + + +ges_video_standard_transition_type_get_type +GType +void + + +GESTextVAlign +typedef enum { + GES_TEXT_VALIGN_BASELINE, + GES_TEXT_VALIGN_BOTTOM, + GES_TEXT_VALIGN_TOP +} GESTextVAlign; + + +DEFAULT_VALIGNMENT +#define DEFAULT_VALIGNMENT GES_TEXT_VALIGN_BASELINE + + +GES_TEXT_VALIGN_TYPE +#define GES_TEXT_VALIGN_TYPE\ + (ges_text_valign_get_type ()) + + +ges_text_valign_get_type +GType +void + + +GESTextHAlign +typedef enum { + GES_TEXT_HALIGN_LEFT, + GES_TEXT_HALIGN_CENTER, + GES_TEXT_HALIGN_RIGHT +} GESTextHAlign; + + +DEFAULT_HALIGNMENT +#define DEFAULT_HALIGNMENT GES_TEXT_HALIGN_CENTER + + +GES_TEXT_HALIGN_TYPE +#define GES_TEXT_HALIGN_TYPE\ + (ges_text_halign_get_type ()) + + +ges_text_halign_get_type +GType +void + + +GESVideoTestPattern +typedef enum { + GES_VIDEO_TEST_PATTERN_SMPTE, + GES_VIDEO_TEST_PATTERN_SNOW, + GES_VIDEO_TEST_PATTERN_BLACK, + GES_VIDEO_TEST_PATTERN_WHITE, + GES_VIDEO_TEST_PATTERN_RED, + GES_VIDEO_TEST_PATTERN_GREEN, + GES_VIDEO_TEST_PATTERN_BLUE, + GES_VIDEO_TEST_PATTERN_CHECKERS1, + GES_VIDEO_TEST_PATTERN_CHECKERS2, + GES_VIDEO_TEST_PATTERN_CHECKERS4, + GES_VIDEO_TEST_PATTERN_CHECKERS8, + GES_VIDEO_TEST_PATTERN_CIRCULAR, + GES_VIDEO_TEST_PATTERN_BLINK, + GES_VIDEO_TEST_PATTERN_SMPTE75, +} GESVideoTestPattern; + + +GES_VIDEO_TEST_PATTERN_TYPE +#define GES_VIDEO_TEST_PATTERN_TYPE\ + ges_video_test_pattern_get_type() + + +ges_video_test_pattern_get_type +GType +void + + +GES_TYPE_TRACK_AUDIO_TEST_SOURCE +#define GES_TYPE_TRACK_AUDIO_TEST_SOURCE ges_track_audio_test_source_get_type() + + +GES_TRACK_AUDIO_TEST_SOURCE +#define GES_TRACK_AUDIO_TEST_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_AUDIO_TEST_SOURCE, GESTrackAudioTestSource)) + + +GES_TRACK_AUDIO_TEST_SOURCE_CLASS +#define GES_TRACK_AUDIO_TEST_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_AUDIO_TEST_SOURCE, GESTrackAudioTestSourceClass)) + + +GES_IS_TRACK_AUDIO_TEST_SOURCE +#define GES_IS_TRACK_AUDIO_TEST_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_AUDIO_TEST_SOURCE)) + + +GES_IS_TRACK_AUDIO_TEST_SOURCE_CLASS +#define GES_IS_TRACK_AUDIO_TEST_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_AUDIO_TEST_SOURCE)) + + +GES_TRACK_AUDIO_TEST_SOURCE_GET_CLASS +#define GES_TRACK_AUDIO_TEST_SOURCE_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_AUDIO_TEST_SOURCE, GESTrackAudioTestSourceClass)) + + +GESTrackAudioTestSourcePrivate + + +GESTrackAudioTestSource +struct _GESTrackAudioTestSource { + /*< private >*/ + GESTrackSource parent; + + gdouble freq; + gdouble volume; + + GESTrackAudioTestSourcePrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackAudioTestSourceClass +struct _GESTrackAudioTestSourceClass { + /*< private >*/ + GESTrackSourceClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_audio_test_source_get_type +GType +void + + +ges_track_audio_test_source_new +GESTrackAudioTestSource* +void + + +ges_track_audio_test_source_set_freq +void +GESTrackAudioTestSource *self, gdouble freq + + +ges_track_audio_test_source_set_volume +void +GESTrackAudioTestSource *self, gdouble volume + + +GES_TYPE_TIMELINE_STANDARD_TRANSITION +#define GES_TYPE_TIMELINE_STANDARD_TRANSITION ges_timeline_standard_transition_get_type() + + +GES_TIMELINE_STANDARD_TRANSITION +#define GES_TIMELINE_STANDARD_TRANSITION(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_STANDARD_TRANSITION, GESTimelineStandardTransition)) + + +GES_TIMELINE_STANDARD_TRANSITION_CLASS +#define GES_TIMELINE_STANDARD_TRANSITION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_STANDARD_TRANSITION, GESTimelineStandardTransitionClass)) + + +GES_IS_TIMELINE_STANDARD_TRANSITION +#define GES_IS_TIMELINE_STANDARD_TRANSITION(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_STANDARD_TRANSITION)) + + +GES_IS_TIMELINE_STANDARD_TRANSITION_CLASS +#define GES_IS_TIMELINE_STANDARD_TRANSITION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_STANDARD_TRANSITION)) + + +GES_TIMELINE_STANDARD_TRANSITION_GET_CLASS +#define GES_TIMELINE_STANDARD_TRANSITION_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_STANDARD_TRANSITION, GESTimelineStandardTransitionClass)) + + +GESTimelineStandardTransitionPrivate + + +GESTimelineStandardTransition +struct _GESTimelineStandardTransition { + /*< private >*/ + GESTimelineTransition parent; + + /*< public >*/ + GESVideoStandardTransitionType vtype; + + /*< private >*/ + GESTimelineStandardTransitionPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineStandardTransitionClass +struct _GESTimelineStandardTransitionClass { + /*< private >*/ + GESTimelineTransitionClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_timeline_standard_transition_get_type +GType +void + + +ges_timeline_standard_transition_new +GESTimelineStandardTransition * +GESVideoStandardTransitionType vtype + + +ges_timeline_standard_transition_new_for_nick +GESTimelineStandardTransition * +char *nick + + +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)) + + +GESTrackSourcePrivate + + +GESTrackSource +struct _GESTrackSource { + /*< private >*/ + GESTrackObject parent; + + GESTrackSourcePrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackSourceClass +struct _GESTrackSourceClass { + /*< private >*/ + GESTrackObjectClass parent_class; + + /*< private >*/ + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_source_get_type +GType +void + + +ges_play_sink_convert_frame +GstBuffer * +GstElement * playsink, GstCaps * caps + + +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)) + + +GESTrackPrivate + + +GESTrack +struct _GESTrack { + GstBin parent; + + /*< public >*/ + /* READ-ONLY */ + GESTrackType type; + + GESTrackPrivate * priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackClass +struct _GESTrackClass { + /*< private >*/ + GstBinClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +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_get_caps +const GstCaps * +GESTrack *track + + +ges_track_get_timeline +const GESTimeline * +GESTrack *track + + +ges_track_add_object +gboolean +GESTrack * track, GESTrackObject * object + + +ges_track_remove_object +gboolean +GESTrack * track, GESTrackObject * object + + +ges_track_video_raw_new +GESTrack * +void + + +ges_track_audio_raw_new +GESTrack * +void + + +GES_TYPE_TRACK_VIDEO_TEST_SOURCE +#define GES_TYPE_TRACK_VIDEO_TEST_SOURCE ges_track_video_test_source_get_type() + + +GES_TRACK_VIDEO_TEST_SOURCE +#define GES_TRACK_VIDEO_TEST_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_VIDEO_TEST_SOURCE, GESTrackVideoTestSource)) + + +GES_TRACK_VIDEO_TEST_SOURCE_CLASS +#define GES_TRACK_VIDEO_TEST_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_VIDEO_TEST_SOURCE, GESTrackVideoTestSourceClass)) + + +GES_IS_TRACK_VIDEO_TEST_SOURCE +#define GES_IS_TRACK_VIDEO_TEST_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_VIDEO_TEST_SOURCE)) + + +GES_IS_TRACK_VIDEO_TEST_SOURCE_CLASS +#define GES_IS_TRACK_VIDEO_TEST_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_VIDEO_TEST_SOURCE)) + + +GES_TRACK_VIDEO_TEST_SOURCE_GET_CLASS +#define GES_TRACK_VIDEO_TEST_SOURCE_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_VIDEO_TEST_SOURCE, GESTrackVideoTestSourceClass)) + + +GESTrackVideoTestSourcePrivate + + +GESTrackVideoTestSource +struct _GESTrackVideoTestSource { + /*< private >*/ + GESTrackSource parent; + + GESVideoTestPattern pattern; + + GESTrackVideoTestSourcePrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackVideoTestSourceClass +struct _GESTrackVideoTestSourceClass { + GESTrackSourceClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_video_test_source_get_type +GType +void + + +ges_track_video_test_source_new +GESTrackVideoTestSource* +void + + +ges_track_video_test_source_set_pattern +void +GESTrackVideoTestSource *self, GESVideoTestPattern pattern + + +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 */ + + /* discoverer used for virgin sources */ + GstDiscoverer *discoverer; + /* Objects that are being discovered FIXME : LOCK ! */ + GList *pendingobjects; + /* Whether we are changing state asynchronously or not */ + gboolean async_pending; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineClass +struct _GESTimelineClass { + GstBinClass parent_class; + + /*< private >*/ + + 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); + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_timeline_get_type +GType +void + + +ges_timeline_new +GESTimeline* +void + + +ges_timeline_new_from_uri +GESTimeline* +gchar *uri + + +ges_timeline_load_from_uri +gboolean +GESTimeline *timeline, gchar *uri + + +ges_timeline_save_to_uri +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_TEST_SOURCE +#define GES_TYPE_TIMELINE_TEST_SOURCE ges_timeline_test_source_get_type() + + +GES_TIMELINE_TEST_SOURCE +#define GES_TIMELINE_TEST_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_TEST_SOURCE, GESTimelineTestSource)) + + +GES_TIMELINE_TEST_SOURCE_CLASS +#define GES_TIMELINE_TEST_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_TEST_SOURCE, GESTimelineTestSourceClass)) + + +GES_IS_TIMELINE_TEST_SOURCE +#define GES_IS_TIMELINE_TEST_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_TEST_SOURCE)) + + +GES_IS_TIMELINE_TEST_SOURCE_CLASS +#define GES_IS_TIMELINE_TEST_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_TEST_SOURCE)) + + +GES_TIMELINE_TEST_SOURCE_GET_CLASS +#define GES_TIMELINE_TEST_SOURCE_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_TEST_SOURCE, GESTimelineTestSourceClass)) + + +GESTimelineTestSourcePrivate + + +GESTimelineTestSource +struct _GESTimelineTestSource { + /*< private >*/ + GESTimelineSource parent; + + gboolean mute; + GESVideoTestPattern vpattern; + gdouble freq; + gdouble volume; + + GESTimelineTestSourcePrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineTestSourceClass +struct _GESTimelineTestSourceClass { + /*< private >*/ + GESTimelineSourceClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_timeline_test_source_get_type +GType +void + + +ges_timeline_test_source_new +GESTimelineTestSource* +void + + +ges_timeline_test_source_new_for_nick +GESTimelineTestSource* +gchar * nick + + +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)) + + +GESTimelineObjectPrivate + + +GESFillTrackObjectFunc +gboolean +GESTimelineObject * object, + GESTrackObject * trobject, + GstElement * gnlobj + + +GESCreateTrackObjectFunc +GESTrackObject * +GESTimelineObject * object, + GESTrack * track + + +GESCreateTrackObjectsFunc +gboolean +GESTimelineObject * object, + GESTrack *track + + +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) + + +GES_TIMELINE_OBJECT_HEIGHT +#define GES_TIMELINE_OBJECT_HEIGHT(obj) (((GESTimelineObject*)obj)->height) + + +GESTimelineObject +struct _GESTimelineObject { + /*< private >*/ + GObject parent; + + GESTimelineObjectPrivate *priv; + + /* We don't add those properties to the priv struct for optimization purposes + * 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) */ + guint32 height; /* the span of priorities this object needs */ + + guint64 fullduration; /* Full usable duration of the object (-1: no duration) */ + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineObjectClass +struct _GESTimelineObjectClass { + /*< private >*/ + GObjectClass parent_class; + + /*< public >*/ + GESCreateTrackObjectFunc create_track_object; + GESCreateTrackObjectsFunc create_track_objects; + + /* FIXME : might need a release_track_object */ + GESFillTrackObjectFunc fill_track_object; + gboolean need_fill_track; + + /*< private >*/ + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +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_create_track_objects +gboolean +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, GType type + + +ges_timeline_object_get_track_objects +GList * +GESTimelineObject *object + + +ges_timeline_object_get_layer +GESTimelineLayer * +GESTimelineObject *object + + +ges_timeline_object_add_track_object +gboolean +GESTimelineObject *object, GESTrackObject *trobj + + +ges_timeline_new_audio_video +GESTimeline * +void + + +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)) + + +GESSimpleTimelineLayerPrivate + + +GESSimpleTimelineLayer +struct _GESSimpleTimelineLayer { + /*< private >*/ + GESTimelineLayer parent; + + GESSimpleTimelineLayerPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESSimpleTimelineLayerClass +struct _GESSimpleTimelineLayerClass { + /*< private >*/ + GESTimelineLayerClass parent_class; + + /*< signals >*/ + void (*object_moved) (GESTimelineLayer * layer, GESTimelineObject * object, + gint old_position, gint new_position); + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +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_simple_timeline_layer_is_valid +gboolean +GESSimpleTimelineLayer *layer + + +ges_simple_timeline_layer_nth +const GESTimelineObject * +GESSimpleTimelineLayer *layer, gint position + + +GES_TYPE_TRACK_IMAGE_SOURCE +#define GES_TYPE_TRACK_IMAGE_SOURCE ges_track_image_source_get_type() + + +GES_TRACK_IMAGE_SOURCE +#define GES_TRACK_IMAGE_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_IMAGE_SOURCE, GESTrackImageSource)) + + +GES_TRACK_IMAGE_SOURCE_CLASS +#define GES_TRACK_IMAGE_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_IMAGE_SOURCE, GESTrackImageSourceClass)) + + +GES_IS_TRACK_IMAGE_SOURCE +#define GES_IS_TRACK_IMAGE_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_IMAGE_SOURCE)) + + +GES_IS_TRACK_IMAGE_SOURCE_CLASS +#define GES_IS_TRACK_IMAGE_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_IMAGE_SOURCE)) + + +GES_TRACK_IMAGE_SOURCE_GET_CLASS +#define GES_TRACK_IMAGE_SOURCE_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_IMAGE_SOURCE, GESTrackImageSourceClass)) + + +GESTrackImageSourcePrivate + + +GESTrackImageSource +struct _GESTrackImageSource { + /*< private >*/ + GESTrackSource parent; + + gchar *uri; + + GESTrackImageSourcePrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackImageSourceClass +struct _GESTrackImageSourceClass { + GESTrackSourceClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_image_source_get_type +GType +void + + +ges_track_image_source_new +GESTrackImageSource* +gchar *uri + + +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)) + + +GESTimelineLayerPrivate + + +GESTimelineLayer +struct _GESTimelineLayer { + GObject parent; + + /*< public >*/ + + GESTimeline *timeline; + + /*< protected >*/ + guint32 min_gnl_priority, max_gnl_priority; + + GESTimelineLayerPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineLayerClass +struct _GESTimelineLayerClass { + /*< private >*/ + GObjectClass parent_class; + + /*< public >*/ + /* virtual methods for subclasses */ + GList *(*get_objects) (GESTimelineLayer * layer); + + /*< private >*/ + /* Signals */ + void (*object_added) (GESTimelineLayer * layer, GESTimelineObject * object); + void (*object_removed) (GESTimelineLayer * layer, GESTimelineObject * object); + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +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_timeline_layer_get_priority +guint +GESTimelineLayer * layer + + +ges_timeline_layer_get_objects +GList* +GESTimelineLayer * layer + + +GES_TYPE_TRACK_VIDEO_TRANSITION +#define GES_TYPE_TRACK_VIDEO_TRANSITION ges_track_video_transition_get_type() + + +GES_TRACK_VIDEO_TRANSITION +#define GES_TRACK_VIDEO_TRANSITION(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_VIDEO_TRANSITION, GESTrackVideoTransition)) + + +GES_TRACK_VIDEO_TRANSITION_CLASS +#define GES_TRACK_VIDEO_TRANSITION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_VIDEO_TRANSITION, GESTrackVideoTransitionClass)) + + +GES_IS_TRACK_VIDEO_TRANSITION +#define GES_IS_TRACK_VIDEO_TRANSITION(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_VIDEO_TRANSITION)) + + +GES_IS_TRACK_VIDEO_TRANSITION_CLASS +#define GES_IS_TRACK_VIDEO_TRANSITION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_VIDEO_TRANSITION)) + + +GES_TRACK_VIDEO_TRANSITION_GET_CLASS +#define GES_TRACK_VIDEO_TRANSITION_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_VIDEO_TRANSITION, GESTrackVideoTransitionClass)) + + +GESTrackVideoTransitionPrivate + + +GESTrackVideoTransition +struct _GESTrackVideoTransition { + GESTrackTransition parent; + + /*< private >*/ + GESVideoStandardTransitionType type; + + /* these enable video interpolation */ + GstController *controller; + GstInterpolationControlSource *control_source; + + /* so we can support changing between wipes */ + GstElement *smpte; + GstElement *mixer; + GstPad *sinka; + GstPad *sinkb; + + /* these will be different depending on whether smptealpha or alpha element + * is used */ + gdouble start_value; + gdouble end_value; + + GESTrackVideoTransitionPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackVideoTransitionClass +struct _GESTrackVideoTransitionClass { + GESTrackTransitionClass parent_class; + + /*< private >*/ + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_video_transition_get_type +GType +void + + +ges_track_video_transition_set_type +gboolean +GESTrackVideoTransition * self, GESVideoStandardTransitionType type + + +ges_track_video_transition_new +GESTrackVideoTransition* +void + + +GES_TYPE_TIMELINE_FILE_SOURCE +#define GES_TYPE_TIMELINE_FILE_SOURCE ges_timeline_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 { + /*< private >*/ + GESTimelineSource parent; + + gchar *uri; + + gboolean mute; + gboolean is_image; + + guint64 maxduration; + + /* The formats supported by this filesource + * TODO : Could maybe be moved to a parent class */ + GESTrackType supportedformats; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineFileSourceClass +struct _GESTimelineFileSourceClass { + /*< private >*/ + GESTimelineSourceClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_timeline_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) + + +GESTrackObjectPrivate + + +GESTrackObject +struct _GESTrackObject { + GObject parent; + + /*< public >*/ + /* Cached values of the gnlobject properties */ + guint64 start; + guint64 inpoint; + guint64 duration; + guint32 gnl_priority; + gboolean active; + + /*< private >*/ + GESTrackObjectPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackObjectClass +struct _GESTrackObjectClass { + /*< private >*/ + GObjectClass parent_class; + + /*< public >*/ + /* virtual methods for subclasses */ + const gchar *gnlobject_factorytype; + GstElement* (*create_gnl_object) (GESTrackObject * object); + GstElement* (*create_element) (GESTrackObject * object); + + void (*start_changed) (GESTrackObject *object, guint64 start); + void (*media_start_changed) (GESTrackObject *object, guint64 media_start); + void (*gnl_priority_changed) (GESTrackObject *object, guint priority); + void (*duration_changed) (GESTrackObject *object, guint64 duration); + void (*active_changed) (GESTrackObject *object, gboolean active); + + /*< private >*/ + /* signals (currently unused) */ + void (*changed) (GESTrackObject * object); + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_object_get_type +GType +void + + +ges_track_object_set_track +gboolean +GESTrackObject * object, GESTrack * track + + +ges_track_object_get_track +const GESTrack* +GESTrackObject * object + + +ges_track_object_set_timeline_object +void +GESTrackObject * object, GESTimelineObject * tlobject + + +ges_track_object_get_timeline_object +const GESTimelineObject * +GESTrackObject* object + + +ges_track_object_get_gnlobject +GstElement * +GESTrackObject * object + + +ges_track_object_get_element +GstElement * +GESTrackObject * object + + +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_priority_offset_internal +gboolean +GESTrackObject * object, guint32 priority_offset + + +ges_track_object_get_priority_offset +guint32 +GESTrackObject *object + + +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)) + + +GESTimelinePipelinePrivate + + +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 { + /*< private >*/ + GstPipeline parent; + + GESTimelinePipelinePrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelinePipelineClass +struct _GESTimelinePipelineClass { + /*< private >*/ + GstPipelineClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +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_timeline_pipeline_get_thumbnail_buffer +GstBuffer * +GESTimelinePipeline *self, GstCaps *caps + + +ges_timeline_pipeline_get_thumbnail_rgb24 +GstBuffer * +GESTimelinePipeline *self, gint width, gint height + + +ges_timeline_pipeline_save_thumbnail +gboolean +GESTimelinePipeline *self, int width, int height, gchar *format, gchar *location + + +GES_TYPE_TIMELINE_OPERATION +#define GES_TYPE_TIMELINE_OPERATION ges_timeline_operation_get_type() + + +GES_TIMELINE_OPERATION +#define GES_TIMELINE_OPERATION(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_OPERATION, GESTimelineOperation)) + + +GES_TIMELINE_OPERATION_CLASS +#define GES_TIMELINE_OPERATION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_OPERATION, GESTimelineOperationClass)) + + +GES_IS_TIMELINE_OPERATION +#define GES_IS_TIMELINE_OPERATION(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_OPERATION)) + + +GES_IS_TIMELINE_OPERATION_CLASS +#define GES_IS_TIMELINE_OPERATION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_OPERATION)) + + +GES_TIMELINE_OPERATION_GET_CLASS +#define GES_TIMELINE_OPERATION_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_OPERATION, GESTimelineOperationClass)) + + +GESTimelineOperationPrivate + + +GESTimelineOperation +struct _GESTimelineOperation { + /*< private >*/ + GESTimelineObject parent; + + GESTimelineOperationPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineOperationClass +struct _GESTimelineOperationClass { + /*< private >*/ + GESTimelineObjectClass parent_class; + + /*< private >*/ + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_timeline_operation_get_type +GType +void + + +GES_TYPE_TIMELINE_OVERLAY +#define GES_TYPE_TIMELINE_OVERLAY ges_timeline_overlay_get_type() + + +GES_TIMELINE_OVERLAY +#define GES_TIMELINE_OVERLAY(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_OVERLAY, GESTimelineOverlay)) + + +GES_TIMELINE_OVERLAY_CLASS +#define GES_TIMELINE_OVERLAY_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_OVERLAY, GESTimelineOverlayClass)) + + +GES_IS_TIMELINE_OVERLAY +#define GES_IS_TIMELINE_OVERLAY(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_OVERLAY)) + + +GES_IS_TIMELINE_OVERLAY_CLASS +#define GES_IS_TIMELINE_OVERLAY_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_OVERLAY)) + + +GES_TIMELINE_OVERLAY_GET_CLASS +#define GES_TIMELINE_OVERLAY_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_OVERLAY, GESTimelineOverlayClass)) + + +GESTimelineOverlayPrivate + + +GESTimelineOverlay +struct _GESTimelineOverlay { + /*< private >*/ + GESTimelineOperation parent; + + GESTimelineOverlayPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineOverlayClass +struct _GESTimelineOverlayClass { + GESTimelineOperationClass parent_class; + + /*< private >*/ + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_timeline_overlay_get_type +GType +void + + +GES_TYPE_CUSTOM_TIMELINE_SOURCE +#define GES_TYPE_CUSTOM_TIMELINE_SOURCE ges_custom_timeline_source_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)) + + +GESCustomTimelineSourcePrivate + + +GESFillTrackObjectUserFunc +gboolean +GESTimelineObject * object, + GESTrackObject * trobject, + GstElement * gnlobj, + gpointer user_data + + +GESCustomTimelineSource +struct _GESCustomTimelineSource { + GESTimelineSource parent; + + /*< private >*/ + GESCustomTimelineSourcePrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESCustomTimelineSourceClass +struct _GESCustomTimelineSourceClass { + GESTimelineSourceClass parent_class; + + /*< private >*/ + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_custom_timeline_source_get_type +GType +void + + +ges_custom_timeline_source_new +GESCustomTimelineSource * +GESFillTrackObjectUserFunc func, gpointer user_data + + +GES_TYPE_TRACK_TITLE_SOURCE +#define GES_TYPE_TRACK_TITLE_SOURCE ges_track_title_source_get_type() + + +GES_TRACK_TITLE_SOURCE +#define GES_TRACK_TITLE_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_TITLE_SOURCE, GESTrackTitleSource)) + + +GES_TRACK_TITLE_SOURCE_CLASS +#define GES_TRACK_TITLE_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_TITLE_SOURCE, GESTrackTitleSourceClass)) + + +GES_IS_TRACK_TITLE_SOURCE +#define GES_IS_TRACK_TITLE_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_TITLE_SOURCE)) + + +GES_IS_TRACK_TITLE_SOURCE_CLASS +#define GES_IS_TRACK_TITLE_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_TITLE_SOURCE)) + + +GES_TRACK_TITLE_SOURCE_GET_CLASS +#define GES_TRACK_TITLE_SOURCE_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_TITLE_SOURCE, GESTrackTitleSourceClass)) + + +GESTrackTitleSourcePrivate + + +GESTrackTitleSource +struct _GESTrackTitleSource { + GESTrackSource parent; + + /*< private >*/ + gchar *text; + gchar *font_desc; + GESTextHAlign halign; + GESTextVAlign valign; + GstElement *text_el; + GstElement *background_el; + + GESTrackTitleSourcePrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackTitleSourceClass +struct _GESTrackTitleSourceClass { + GESTrackSourceClass parent_class; + + /*< private >*/ + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_title_source_get_type +GType +void + + +ges_track_title_source_set_text +void +GESTrackTitleSource *self, const gchar *text + + +ges_track_title_source_set_font_desc +void +GESTrackTitleSource *self, const gchar *font_desc + + +ges_track_title_source_set_halignment +void +GESTrackTitleSource *self, GESTextHAlign halgn + + +ges_track_title_source_set_valignment +void +GESTrackTitleSource *self, GESTextVAlign valign + + +ges_track_title_source_new +GESTrackTitleSource* +void + + +GES_TYPE_TRACK_AUDIO_TRANSITION +#define GES_TYPE_TRACK_AUDIO_TRANSITION ges_track_audio_transition_get_type() + + +GES_TRACK_AUDIO_TRANSITION +#define GES_TRACK_AUDIO_TRANSITION(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_AUDIO_TRANSITION, GESTrackAudioTransition)) + + +GES_TRACK_AUDIO_TRANSITION_CLASS +#define GES_TRACK_AUDIO_TRANSITION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_AUDIO_TRANSITION, GESTrackAudioTransitionClass)) + + +GES_IS_TRACK_AUDIO_TRANSITION +#define GES_IS_TRACK_AUDIO_TRANSITION(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_AUDIO_TRANSITION)) + + +GES_IS_TRACK_AUDIO_TRANSITION_CLASS +#define GES_IS_TRACK_AUDIO_TRANSITION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_AUDIO_TRANSITION)) + + +GES_TRACK_AUDIO_TRANSITION_GET_CLASS +#define GES_TRACK_AUDIO_TRANSITION_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_AUDIO_TRANSITION, GESTrackAudioTransitionClass)) + + +GESTrackAudioTransitionPrivate + + +GESTrackAudioTransition +struct _GESTrackAudioTransition { + GESTrackTransition parent; + + /*< private >*/ + /* these enable volume interpolation. Unlike video, both inputs are adjusted + * simultaneously */ + GstController *a_controller; + GstInterpolationControlSource *a_control_source; + + GstController *b_controller; + GstInterpolationControlSource *b_control_source; + + GESTrackAudioTransitionPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackAudioTransitionClass +struct _GESTrackAudioTransitionClass { + GESTrackTransitionClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_audio_transition_get_type +GType +void + + +ges_track_audio_transition_new +GESTrackAudioTransition* +void + + +GES_TYPE_TIMELINE_TITLE_SOURCE +#define GES_TYPE_TIMELINE_TITLE_SOURCE ges_timeline_title_source_get_type() + + +GES_TIMELINE_TITLE_SOURCE +#define GES_TIMELINE_TITLE_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_TITLE_SOURCE, GESTimelineTitleSource)) + + +GES_TIMELINE_TITLE_SOURCE_CLASS +#define GES_TIMELINE_TITLE_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_TITLE_SOURCE, GESTimelineTitleSourceClass)) + + +GES_IS_TIMELINE_TITLE_SOURCE +#define GES_IS_TIMELINE_TITLE_SOURCE(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_TITLE_SOURCE)) + + +GES_IS_TIMELINE_TITLE_SOURCE_CLASS +#define GES_IS_TIMELINE_TITLE_SOURCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_TITLE_SOURCE)) + + +GES_TIMELINE_TITLE_SOURCE_GET_CLASS +#define GES_TIMELINE_TITLE_SOURCE_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_TITLE_SOURCE, GESTimelineTitleSourceClass)) + + +GESTimelineTitleSourcePrivate + + +GESTimelineTitleSource +struct _GESTimelineTitleSource { + /*< private >*/ + GESTimelineSource parent; + + gboolean mute; + gchar *text; + gchar *font_desc; + GESTextVAlign halign; + GESTextHAlign valign; + + GESTimelineTitleSourcePrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTimelineTitleSourceClass +struct _GESTimelineTitleSourceClass { + /*< private >*/ + GESTimelineSourceClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_timeline_title_source_get_type +GType +void + + +ges_timeline_title_source_new +GESTimelineTitleSource* +void + + +GES_TYPE_KEYFILE_FORMATTER +#define GES_TYPE_KEYFILE_FORMATTER ges_keyfile_formatter_get_type() + + +GES_KEYFILE_FORMATTER +#define GES_KEYFILE_FORMATTER(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_KEYFILE_FORMATTER, GESKeyfileFormatter)) + + +GES_KEYFILE_FORMATTER_CLASS +#define GES_KEYFILE_FORMATTER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_KEYFILE_FORMATTER, GESKeyfileFormatterClass)) + + +GES_IS_KEYFILE_FORMATTER +#define GES_IS_KEYFILE_FORMATTER(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_KEYFILE_FORMATTER)) + + +GES_IS_KEYFILE_FORMATTER_CLASS +#define GES_IS_KEYFILE_FORMATTER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_KEYFILE_FORMATTER)) + + +GES_KEYFILE_FORMATTER_GET_CLASS +#define GES_KEYFILE_FORMATTER_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_KEYFILE_FORMATTER, GESKeyfileFormatterClass)) + + +GESKeyfileFormatter +struct _GESKeyfileFormatter { + /*< private >*/ + GESFormatter parent; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESKeyfileFormatterClass +struct _GESKeyfileFormatterClass { + /*< private >*/ + GESFormatterClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_keyfile_formatter_get_type +GType +void + + +ges_keyfile_formatter_new +GESKeyfileFormatter * +void + + +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)) + + +GESTrackFileSourcePrivate + + +GESTrackFileSource +struct _GESTrackFileSource { + /*< private >*/ + GESTrackSource parent; + + gchar *uri; + + GESTrackFileSourcePrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackFileSourceClass +struct _GESTrackFileSourceClass { + /*< private >*/ + GESTrackSourceClass parent_class; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_filesource_get_type +GType +void + + +ges_track_filesource_new +GESTrackFileSource* +gchar *uri + + +GES_TYPE_TRACK_TEXT_OVERLAY +#define GES_TYPE_TRACK_TEXT_OVERLAY ges_track_text_overlay_get_type() + + +GES_TRACK_TEXT_OVERLAY +#define GES_TRACK_TEXT_OVERLAY(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_TEXT_OVERLAY, GESTrackTextOverlay)) + + +GES_TRACK_TEXT_OVERLAY_CLASS +#define GES_TRACK_TEXT_OVERLAY_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_TEXT_OVERLAY, GESTrackTextOverlayClass)) + + +GES_IS_TRACK_TEXT_OVERLAY +#define GES_IS_TRACK_TEXT_OVERLAY(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_TEXT_OVERLAY)) + + +GES_IS_TRACK_TEXT_OVERLAY_CLASS +#define GES_IS_TRACK_TEXT_OVERLAY_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_TEXT_OVERLAY)) + + +GES_TRACK_TEXT_OVERLAY_GET_CLASS +#define GES_TRACK_TEXT_OVERLAY_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_TEXT_OVERLAY, GESTrackTextOverlayClass)) + + +GESTrackTextOverlayPrivate + + +GESTrackTextOverlay +struct _GESTrackTextOverlay { + /*< private >*/ + GESTrackOperation parent; + + gchar *text; + gchar *font_desc; + GESTextHAlign halign; + GESTextVAlign valign; + GstElement *text_el; + + GESTrackTextOverlayPrivate *priv; + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +GESTrackTextOverlayClass +struct _GESTrackTextOverlayClass { + GESTrackOperationClass parent_class; + + /*< private >*/ + + /* Padding for API extension */ + gpointer _ges_reserved[GES_PADDING]; +}; + + +ges_track_text_overlay_get_type +GType +void + + +ges_track_text_overlay_set_text +void +GESTrackTextOverlay *self, const gchar *text + + +ges_track_text_overlay_set_font_desc +void +GESTrackTextOverlay *self, const gchar *font_desc + + +ges_track_text_overlay_set_halignment +void +GESTrackTextOverlay *self, GESTextHAlign halgn + + +ges_track_text_overlay_set_valignment +void +GESTrackTextOverlay *self, GESTextVAlign valign + + +ges_track_text_overlay_new +GESTrackTextOverlay* +void + diff --git a/docs/libs/ges-sections.txt b/docs/libs/ges-sections.txt index 5560348e2c..e0181e958e 100644 --- a/docs/libs/ges-sections.txt +++ b/docs/libs/ges-sections.txt @@ -68,6 +68,10 @@ GES_TYPE_TRACK GESTrackObject GESTrackObjectClass ges_track_object_set_active +ges_track_object_get_track +ges_track_object_get_timeline_object +ges_track_object_get_gnlobject +ges_track_object_get_element GES_TRACK_OBJECT_DURATION GES_TRACK_OBJECT_INPOINT diff --git a/ges/ges-timeline-file-source.c b/ges/ges-timeline-file-source.c index 9c63610405..88e3bb7a16 100644 --- a/ges/ges-timeline-file-source.c +++ b/ges/ges-timeline-file-source.c @@ -211,7 +211,7 @@ ges_timeline_filesource_set_mute (GESTimelineFileSource * self, gboolean mute) for (tmp = trackobjects; tmp; tmp = tmp->next) { GESTrackObject *trackobject = (GESTrackObject *) tmp->data; - if (trackobject->track->type == GES_TRACK_TYPE_AUDIO) + if (ges_track_object_get_track (trackobject)->type == GES_TRACK_TYPE_AUDIO) ges_track_object_set_active (trackobject, !mute); g_object_unref (GES_TRACK_OBJECT (tmp->data)); diff --git a/ges/ges-timeline-object.c b/ges/ges-timeline-object.c index d4167c22eb..f35b01436c 100644 --- a/ges/ges-timeline-object.c +++ b/ges/ges-timeline-object.c @@ -540,9 +540,12 @@ ges_timeline_object_find_track_object (GESTimelineObject * object, if (G_LIKELY (object->priv->trackobjects)) { GList *tmp; + GESTrackObject *otmp; - for (tmp = object->priv->trackobjects; tmp; tmp = g_list_next (tmp)) - if (GES_TRACK_OBJECT (tmp->data)->track == track) { + for (tmp = object->priv->trackobjects; tmp; tmp = g_list_next (tmp)) { + otmp = (GESTrackObject *) tmp->data; + + if (ges_track_object_get_track (otmp) == track) { if ((type != G_TYPE_NONE) && !G_TYPE_CHECK_INSTANCE_TYPE (tmp->data, type)) continue; @@ -551,6 +554,7 @@ ges_timeline_object_find_track_object (GESTimelineObject * object, g_object_ref (ret); break; } + } } return ret; diff --git a/ges/ges-timeline-test-source.c b/ges/ges-timeline-test-source.c index 92e3426948..af2967f696 100644 --- a/ges/ges-timeline-test-source.c +++ b/ges/ges-timeline-test-source.c @@ -202,7 +202,7 @@ ges_timeline_test_source_set_mute (GESTimelineTestSource * self, gboolean mute) for (tmp = trackobjects; tmp; tmp = tmp->next) { GESTrackObject *trackobject = (GESTrackObject *) tmp->data; - if (trackobject->track->type == GES_TRACK_TYPE_AUDIO) + if (ges_track_object_get_track (trackobject)->type == GES_TRACK_TYPE_AUDIO) ges_track_object_set_active (trackobject, !mute); g_object_unref (GES_TRACK_OBJECT (tmp->data)); diff --git a/ges/ges-timeline-text-overlay.c b/ges/ges-timeline-text-overlay.c index 7e89ac8c2d..c7efd2bfdb 100644 --- a/ges/ges-timeline-text-overlay.c +++ b/ges/ges-timeline-text-overlay.c @@ -230,7 +230,7 @@ ges_timeline_text_overlay_set_text (GESTimelineTextOverlay * self, for (tmp = trackobjects; tmp; tmp = tmp->next) { GESTrackObject *trackobject = (GESTrackObject *) tmp->data; - if (trackobject->track->type == GES_TRACK_TYPE_VIDEO) + if (ges_track_object_get_track (trackobject)->type == GES_TRACK_TYPE_VIDEO) ges_track_text_overlay_set_text (GES_TRACK_TEXT_OVERLAY (trackobject), self->text); @@ -257,7 +257,7 @@ ges_timeline_text_overlay_set_font_desc (GESTimelineTextOverlay * self, for (tmp = trackobjects; tmp; tmp = tmp->next) { GESTrackObject *trackobject = (GESTrackObject *) tmp->data; - if (trackobject->track->type == GES_TRACK_TYPE_VIDEO) + if (ges_track_object_get_track (trackobject)->type == GES_TRACK_TYPE_VIDEO) ges_track_text_overlay_set_font_desc (GES_TRACK_TEXT_OVERLAY (trackobject), self->font_desc); @@ -282,7 +282,7 @@ ges_timeline_text_overlay_set_halign (GESTimelineTextOverlay * self, for (tmp = trackobjects; tmp; tmp = tmp->next) { GESTrackObject *trackobject = (GESTrackObject *) tmp->data; - if (trackobject->track->type == GES_TRACK_TYPE_VIDEO) + if (ges_track_object_get_track (trackobject)->type == GES_TRACK_TYPE_VIDEO) ges_track_text_overlay_set_halignment (GES_TRACK_TEXT_OVERLAY (trackobject), self->halign); @@ -307,7 +307,7 @@ ges_timeline_text_overlay_set_valign (GESTimelineTextOverlay * self, for (tmp = trackobjects; tmp; tmp = tmp->next) { GESTrackObject *trackobject = (GESTrackObject *) tmp->data; - if (trackobject->track->type == GES_TRACK_TYPE_VIDEO) + if (ges_track_object_get_track (trackobject)->type == GES_TRACK_TYPE_VIDEO) ges_track_text_overlay_set_valignment (GES_TRACK_TEXT_OVERLAY (trackobject), self->valign); diff --git a/ges/ges-timeline-title-source.c b/ges/ges-timeline-title-source.c index 7642ec5808..de44c24b1c 100644 --- a/ges/ges-timeline-title-source.c +++ b/ges/ges-timeline-title-source.c @@ -356,7 +356,7 @@ ges_timeline_title_source_set_mute (GESTimelineTitleSource * self, for (tmp = trackobjects; tmp; tmp = tmp->next) { GESTrackObject *trackobject = (GESTrackObject *) tmp->data; - if (trackobject->track->type == GES_TRACK_TYPE_AUDIO) + if (ges_track_object_get_track (trackobject)->type == GES_TRACK_TYPE_AUDIO) ges_track_object_set_active (trackobject, !mute); g_object_unref (GES_TRACK_OBJECT (tmp->data)); diff --git a/ges/ges-timeline.c b/ges/ges-timeline.c index 66383a63e4..5bc037ed25 100644 --- a/ges/ges-timeline.c +++ b/ges/ges-timeline.c @@ -564,10 +564,10 @@ layer_object_removed_cb (GESTimelineLayer * layer, GESTimelineObject * object, GST_DEBUG ("Trying to remove TrackObject %p", trobj); if (G_LIKELY (g_list_find_custom (timeline->tracks, - (gconstpointer) trobj->track, + ges_track_object_get_track (trobj), (GCompareFunc) custom_find_track))) { GST_DEBUG ("Belongs to one of the tracks we control"); - ges_track_remove_object (trobj->track, trobj); + ges_track_remove_object (ges_track_object_get_track (trobj), trobj); ges_timeline_object_release_track_object (object, trobj); } diff --git a/ges/ges-track-audio-test-source.c b/ges/ges-track-audio-test-source.c index 9383db4dec..9f06e227cf 100644 --- a/ges/ges-track-audio-test-source.c +++ b/ges/ges-track-audio-test-source.c @@ -116,10 +116,9 @@ void ges_track_audio_test_source_set_freq (GESTrackAudioTestSource * self, gdouble freq) { - GstElement *element; + GstElement *element = ges_track_object_get_element (GES_TRACK_OBJECT (self)); self->freq = freq; - element = ((GESTrackObject *) self)->element; if (element) g_object_set (element, "freq", (gdouble) freq, NULL); } @@ -128,10 +127,9 @@ void ges_track_audio_test_source_set_volume (GESTrackAudioTestSource * self, gdouble volume) { - GstElement *element; + GstElement *element = ges_track_object_get_element (GES_TRACK_OBJECT (self)); self->volume = volume; - element = ((GESTrackObject *) self)->element; if (element) g_object_set (element, "volume", (gdouble) volume, NULL); } diff --git a/ges/ges-track-audio-transition.c b/ges/ges-track-audio-transition.c index c3696fec0a..4a4ffdbd51 100644 --- a/ges/ges-track-audio-transition.c +++ b/ges/ges-track-audio-transition.c @@ -249,7 +249,7 @@ ges_track_audio_transition_duration_changed (GESTrackObject * object, guint64 duration) { GESTrackAudioTransition *self; - GstElement *gnlobj = object->gnlobject; + GstElement *gnlobj = ges_track_object_get_gnlobject (object); GValue zero = { 0, }; GValue one = { 0, }; diff --git a/ges/ges-track-filesource.c b/ges/ges-track-filesource.c index 602e9431f7..db810b508b 100644 --- a/ges/ges-track-filesource.c +++ b/ges/ges-track-filesource.c @@ -85,14 +85,15 @@ ges_track_filesource_dispose (GObject * object) G_OBJECT_CLASS (ges_track_filesource_parent_class)->dispose (object); } -static gboolean +static GstElement * ges_track_filesource_create_gnl_object (GESTrackObject * object) { - object->gnlobject = gst_element_factory_make ("gnlurisource", NULL); - g_object_set (object->gnlobject, "uri", ((GESTrackFileSource *) object)->uri, - NULL); + GstElement *gnlobject; - return TRUE; + gnlobject = gst_element_factory_make ("gnlurisource", NULL); + g_object_set (gnlobject, "uri", ((GESTrackFileSource *) object)->uri, NULL); + + return gnlobject; } static void diff --git a/ges/ges-track-object.c b/ges/ges-track-object.c index 820061694d..0cf9181a30 100644 --- a/ges/ges-track-object.c +++ b/ges/ges-track-object.c @@ -55,6 +55,22 @@ struct _GESTrackObjectPrivate /* cache the base priority and offset */ guint32 base_priority; guint32 priority_offset; + + /* These fields are only used before the gnlobject is available */ + guint64 pending_start; + guint64 pending_inpoint; + guint64 pending_duration; + guint32 pending_gnl_priority; + gboolean pending_active; + + GstElement *gnlobject; /* The GnlObject */ + GstElement *element; /* The element contained in the gnlobject (can be NULL) */ + + GESTimelineObject *timelineobj; + GESTrack *track; + + gboolean valid; + }; enum @@ -68,8 +84,8 @@ enum PROP_ACTIVE }; -static gboolean -ges_track_object_create_gnl_object_func (GESTrackObject * object); +static GstElement *ges_track_object_create_gnl_object_func (GESTrackObject * + object); void gnlobject_start_cb (GstElement * gnlobject, GParamSpec * arg G_GNUC_UNUSED, GESTrackObject * obj); @@ -225,7 +241,7 @@ ges_track_object_class_init (GESTrackObjectClass * klass) /** * GESTrackObject:priority-offset * - * The priority of the object relative to its parent track object. + * The priority of the object relative to its parent #GESTimelineObject. */ g_object_class_install_property (object_class, PROP_PRIORITY_OFFSET, g_param_spec_uint ("priority-offset", "Priority Offset", @@ -252,11 +268,11 @@ ges_track_object_init (GESTrackObject * self) GES_TYPE_TRACK_OBJECT, GESTrackObjectPrivate); /* Sane default values */ - self->pending_start = 0; - self->pending_inpoint = 0; - self->pending_duration = GST_SECOND; - self->pending_gnl_priority = 1; - self->pending_active = TRUE; + self->priv->pending_start = 0; + self->priv->pending_inpoint = 0; + self->priv->pending_duration = GST_SECOND; + self->priv->pending_gnl_priority = 1; + self->priv->pending_active = TRUE; } gboolean @@ -265,13 +281,13 @@ ges_track_object_set_start_internal (GESTrackObject * object, guint64 start) GST_DEBUG ("object:%p, start:%" GST_TIME_FORMAT, object, GST_TIME_ARGS (start)); - if (object->gnlobject != NULL) { + if (object->priv->gnlobject != NULL) { if (G_UNLIKELY (start == object->start)) return FALSE; - g_object_set (object->gnlobject, "start", start, NULL); + g_object_set (object->priv->gnlobject, "start", start, NULL); } else - object->pending_start = start; + object->priv->pending_start = start; return TRUE; }; @@ -282,13 +298,13 @@ ges_track_object_set_inpoint_internal (GESTrackObject * object, guint64 inpoint) GST_DEBUG ("object:%p, inpoint:%" GST_TIME_FORMAT, object, GST_TIME_ARGS (inpoint)); - if (object->gnlobject != NULL) { + if (object->priv->gnlobject != NULL) { if (G_UNLIKELY (inpoint == object->inpoint)) return FALSE; - g_object_set (object->gnlobject, "media-start", inpoint, NULL); + g_object_set (object->priv->gnlobject, "media-start", inpoint, NULL); } else - object->pending_inpoint = inpoint; + object->priv->pending_inpoint = inpoint; return TRUE; } @@ -300,14 +316,14 @@ ges_track_object_set_duration_internal (GESTrackObject * object, GST_DEBUG ("object:%p, duration:%" GST_TIME_FORMAT, object, GST_TIME_ARGS (duration)); - if (object->gnlobject != NULL) { + if (object->priv->gnlobject != NULL) { if (G_UNLIKELY (duration == object->duration)) return FALSE; - g_object_set (object->gnlobject, "duration", duration, "media-duration", - duration, NULL); + g_object_set (object->priv->gnlobject, "duration", duration, + "media-duration", duration, NULL); } else - object->pending_duration = duration; + object->priv->pending_duration = duration; return TRUE; } @@ -360,28 +376,38 @@ ges_track_object_update_priority (GESTrackObject * object) GST_DEBUG ("object:%p, base:%d, offset:%d: gnl:%d", object, priority, offset, gnl); - if (object->gnlobject != NULL) { + if (object->priv->gnlobject != NULL) { if (G_UNLIKELY (gnl == object->gnl_priority)) return FALSE; - g_object_set (object->gnlobject, "priority", gnl, NULL); + g_object_set (object->priv->gnlobject, "priority", gnl, NULL); } else - object->pending_gnl_priority = gnl; + object->priv->pending_gnl_priority = gnl; return TRUE; } +/** + * ges_track_object_set_active: + * @object: a #GESTrackObject + * @active: visibility + * + * Sets the usage of the @object. If @active is %TRUE, the object will be used for + * playback and rendering, else it will be ignored. + * + * Returns: %TRUE if the property was toggled, else %FALSE + */ gboolean ges_track_object_set_active (GESTrackObject * object, gboolean active) { GST_DEBUG ("object:%p, active:%d", object, active); - if (object->gnlobject != NULL) { + if (object->priv->gnlobject != NULL) { if (G_UNLIKELY (active == object->active)) return FALSE; - g_object_set (object->gnlobject, "active", active, NULL); + g_object_set (object->priv->gnlobject, "active", active, NULL); } else - object->pending_active = active; + object->priv->pending_active = active; return TRUE; } @@ -498,7 +524,7 @@ gnlobject_active_cb (GstElement * gnlobject, GParamSpec * arg G_GNUC_UNUSED, /* default 'create_gnl_object' virtual method implementation */ -static gboolean +static GstElement * ges_track_object_create_gnl_object_func (GESTrackObject * self) { GESTrackObjectClass *klass = NULL; @@ -507,7 +533,7 @@ ges_track_object_create_gnl_object_func (GESTrackObject * self) klass = GES_TRACK_OBJECT_GET_CLASS (self); - if (G_UNLIKELY (self->gnlobject != NULL)) + if (G_UNLIKELY (self->priv->gnlobject != NULL)) goto already_have_gnlobject; if (G_UNLIKELY (klass->gnlobject_factorytype == NULL)) @@ -532,13 +558,11 @@ ges_track_object_create_gnl_object_func (GESTrackObject * self) goto add_failure; GST_DEBUG ("Succesfully got the element to put in the gnlobject"); - self->element = child; + self->priv->element = child; } - self->gnlobject = gnlobject; - GST_DEBUG ("done"); - return TRUE; + return gnlobject; /* ERROR CASES */ @@ -546,28 +570,28 @@ ges_track_object_create_gnl_object_func (GESTrackObject * self) already_have_gnlobject: { GST_ERROR ("Already controlling a GnlObject %s", - GST_ELEMENT_NAME (self->gnlobject)); - return FALSE; + GST_ELEMENT_NAME (self->priv->gnlobject)); + return NULL; } no_gnlfactory: { GST_ERROR ("No GESTrackObject::gnlobject_factorytype implementation!"); - return FALSE; + return NULL; } no_gnlobject: { GST_ERROR ("Error creating a gnlobject of type '%s'", klass->gnlobject_factorytype); - return FALSE; + return NULL; } child_failure: { GST_ERROR ("create_element returned NULL"); gst_object_unref (gnlobject); - return FALSE; + return NULL; } add_failure: @@ -575,7 +599,7 @@ add_failure: GST_ERROR ("Error adding the contents to the gnlobject"); gst_object_unref (child); gst_object_unref (gnlobject); - return FALSE; + return NULL; } } @@ -583,10 +607,11 @@ static gboolean ensure_gnl_object (GESTrackObject * object) { GESTrackObjectClass *class; - gboolean res; + GstElement *gnlobject; + gboolean res = TRUE; - if (object->gnlobject && object->valid) - return TRUE; + if (object->priv->gnlobject && object->priv->valid) + return FALSE; /* 1. Create the GnlObject */ GST_DEBUG ("Creating GnlObject"); @@ -601,74 +626,108 @@ ensure_gnl_object (GESTrackObject * object) GST_DEBUG ("Calling virtual method"); /* call the create_gnl_object virtual method */ - res = class->create_gnl_object (object); + gnlobject = class->create_gnl_object (object); - if (G_UNLIKELY (res && (object->gnlobject == NULL))) { + if (G_UNLIKELY (gnlobject == NULL)) { GST_ERROR ("'create_gnl_object' implementation returned TRUE but no GnlObject is available"); return FALSE; } + object->priv->gnlobject = gnlobject; + /* Connect to property notifications */ - g_signal_connect (G_OBJECT (object->gnlobject), "notify::start", + g_signal_connect (G_OBJECT (object->priv->gnlobject), "notify::start", G_CALLBACK (gnlobject_start_cb), object); - g_signal_connect (G_OBJECT (object->gnlobject), "notify::media-start", + g_signal_connect (G_OBJECT (object->priv->gnlobject), "notify::media-start", G_CALLBACK (gnlobject_media_start_cb), object); - g_signal_connect (G_OBJECT (object->gnlobject), "notify::duration", + g_signal_connect (G_OBJECT (object->priv->gnlobject), "notify::duration", G_CALLBACK (gnlobject_duration_cb), object); - g_signal_connect (G_OBJECT (object->gnlobject), "notify::priority", + g_signal_connect (G_OBJECT (object->priv->gnlobject), "notify::priority", G_CALLBACK (gnlobject_priority_cb), object); - g_signal_connect (G_OBJECT (object->gnlobject), "notify::active", + g_signal_connect (G_OBJECT (object->priv->gnlobject), "notify::active", G_CALLBACK (gnlobject_active_cb), object); /* 2. Fill in the GnlObject */ - if (res) { + if (gnlobject) { GST_DEBUG ("Got a valid GnlObject, now filling it in"); res = - ges_timeline_object_fill_track_object (object->timelineobj, object, - object->gnlobject); + ges_timeline_object_fill_track_object (object->priv->timelineobj, + object, object->priv->gnlobject); if (res) { /* Set some properties on the GnlObject */ - g_object_set (object->gnlobject, - "caps", ges_track_get_caps (object->track), - "duration", object->pending_duration, - "media-duration", object->pending_duration, - "start", object->pending_start, - "media-start", object->pending_inpoint, - "priority", object->pending_gnl_priority, - "active", object->pending_active, NULL); + g_object_set (object->priv->gnlobject, + "caps", ges_track_get_caps (object->priv->track), + "duration", object->priv->pending_duration, + "media-duration", object->priv->pending_duration, + "start", object->priv->pending_start, + "media-start", object->priv->pending_inpoint, + "priority", object->priv->pending_gnl_priority, + "active", object->priv->pending_active, NULL); } } - object->valid = res; + object->priv->valid = res; GST_DEBUG ("Returning res:%d", res); return res; } +/* INTERNAL USAGE */ gboolean ges_track_object_set_track (GESTrackObject * object, GESTrack * track) { GST_DEBUG ("object:%p, track:%p", object, track); - object->track = track; + object->priv->track = track; - if (object->track) + if (object->priv->track) return ensure_gnl_object (object); return TRUE; } +/** + * ges_track_object_get_track: + * @object: a #GESTrackObject + * + * Returns: (transfer none): The #GESTrack to which this object belongs. Can be %NULL if it + * is not in any track + */ +GESTrack * +ges_track_object_get_track (GESTrackObject * object) +{ + g_return_val_if_fail (GES_IS_TRACK_OBJECT (object), NULL); + + return object->priv->track; +} + + void ges_track_object_set_timeline_object (GESTrackObject * object, GESTimelineObject * tlobj) { GST_DEBUG ("object:%p, timeline-object:%p", object, tlobj); - object->timelineobj = tlobj; + object->priv->timelineobj = tlobj; +} + +/** + * ges_track_object_get_timeline_object: + * @object: a #GESTrackObject + * + * Returns: (transfer none): the #GESTimelineObject which is controlling + * this track object + */ +GESTimelineObject * +ges_track_object_get_timeline_object (GESTrackObject * object) +{ + g_return_val_if_fail (GES_IS_TRACK_OBJECT (object), NULL); + + return object->priv->timelineobj; } guint32 @@ -676,3 +735,28 @@ ges_track_object_get_priority_offset (GESTrackObject * object) { return object->priv->priority_offset; } + +/** + * ges_track_object_get_gnlobject: + * @object: a #GESTrackObject + * + * Returns: (transfer none): the GNonLin object this object is controlling. + */ +GstElement * +ges_track_object_get_gnlobject (GESTrackObject * object) +{ + return object->priv->gnlobject; +} + +/** + * ges_track_object_get_element: + * @object: a #GESTrackObject + * + * Returns: (transfer none): the #GstElement this track object is controlling + * within GNonLin. + */ +GstElement * +ges_track_object_get_element (GESTrackObject * object) +{ + return object->priv->element; +} diff --git a/ges/ges-track-object.h b/ges/ges-track-object.h index a996b8d337..c996c48708 100644 --- a/ges/ges-track-object.h +++ b/ges/ges-track-object.h @@ -74,9 +74,6 @@ typedef struct _GESTrackObjectPrivate GESTrackObjectPrivate; /** * GESTrackObject: - * @timelineobj: The #GESTimelineObject to which this object belongs. - * @track: The #GESTrack in which this object is. - * @valid: #TRUE if the content of the @gnlobject is valid. * @start: Position (in nanoseconds) of the object the track. * @inpoint: in-point (in nanoseconds) of the object in the track. * @duration: Duration of the object. @@ -89,11 +86,6 @@ struct _GESTrackObject { GObject parent; /*< public >*/ - GESTimelineObject *timelineobj; - GESTrack *track; - - gboolean valid; - /* Cached values of the gnlobject properties */ guint64 start; guint64 inpoint; @@ -102,16 +94,6 @@ struct _GESTrackObject { gboolean active; /*< private >*/ - /* These fields are only used before the gnlobject is available */ - guint64 pending_start; - guint64 pending_inpoint; - guint64 pending_duration; - guint32 pending_gnl_priority; - gboolean pending_active; - - GstElement *gnlobject; /* The GnlObject */ - GstElement *element; /* The element contained in the gnlobject (can be NULL) */ - GESTrackObjectPrivate *priv; /* Padding for API extension */ @@ -122,7 +104,6 @@ struct _GESTrackObject { * GESTrackObjectClass: * @gnlobject_factorytype: name of the GNonLin GStElementFactory type to use. * @create_gnl_object: method to create the GNonLin container object. - * Create and fill the gnlobject and set it to GESTrackObject->gnlobject. * The default implementation will create an object of type @gnlobject_factorytype * and call @create_element. * @create_element: method to return the GstElement to put in the gnlobject. @@ -142,7 +123,7 @@ struct _GESTrackObjectClass { /*< public >*/ /* virtual methods for subclasses */ const gchar *gnlobject_factorytype; - gboolean (*create_gnl_object) (GESTrackObject * object); + GstElement* (*create_gnl_object) (GESTrackObject * object); GstElement* (*create_element) (GESTrackObject * object); void (*start_changed) (GESTrackObject *object, guint64 start); @@ -161,8 +142,14 @@ struct _GESTrackObjectClass { GType ges_track_object_get_type (void); -gboolean ges_track_object_set_track (GESTrackObject * object, GESTrack * track); +gboolean ges_track_object_set_track (GESTrackObject * object, GESTrack * track); +GESTrack* ges_track_object_get_track (GESTrackObject * object); + void ges_track_object_set_timeline_object (GESTrackObject * object, GESTimelineObject * tlobject); +GESTimelineObject * ges_track_object_get_timeline_object (GESTrackObject* object); + +GstElement * ges_track_object_get_gnlobject (GESTrackObject * object); +GstElement * ges_track_object_get_element (GESTrackObject * object); /* Private methods for GESTimelineObject's usage only */ gboolean ges_track_object_set_start_internal (GESTrackObject * object, guint64 start); diff --git a/ges/ges-track-video-test-source.c b/ges/ges-track-video-test-source.c index ffc11a10c6..94618e85d1 100644 --- a/ges/ges-track-video-test-source.c +++ b/ges/ges-track-video-test-source.c @@ -77,9 +77,8 @@ void ges_track_video_test_source_set_pattern (GESTrackVideoTestSource * self, GESVideoTestPattern pattern) { - GstElement *element; + GstElement *element = ges_track_object_get_element (GES_TRACK_OBJECT (self)); - element = GES_TRACK_OBJECT (self)->element; self->pattern = pattern; if (element) diff --git a/ges/ges-track-video-transition.c b/ges/ges-track-video-transition.c index e775949793..9a214bfbdc 100644 --- a/ges/ges-track-video-transition.c +++ b/ges/ges-track-video-transition.c @@ -296,7 +296,7 @@ ges_track_video_transition_duration_changed (GESTrackObject * object, { GValue start_value = { 0, }; GValue end_value = { 0, }; - GstElement *gnlobj = object->gnlobject; + GstElement *gnlobj = ges_track_object_get_gnlobject (object); GESTrackVideoTransition *self = GES_TRACK_VIDEO_TRANSITION (object); GST_LOG ("updating controller"); diff --git a/ges/ges-track.c b/ges/ges-track.c index ff353d88a0..474a465d84 100644 --- a/ges/ges-track.c +++ b/ges/ges-track.c @@ -104,7 +104,8 @@ ges_track_dispose (GObject * object) while (priv->trackobjects) { GESTrackObject *trobj = GES_TRACK_OBJECT (priv->trackobjects->data); ges_track_remove_object (track, trobj); - ges_timeline_object_release_track_object (trobj->timelineobj, trobj); + ges_timeline_object_release_track_object ((GESTimelineObject *) + ges_track_object_get_timeline_object (trobj), trobj); } if (priv->composition) { @@ -306,13 +307,16 @@ ges_track_add_object (GESTrack * track, GESTrackObject * object) GST_DEBUG ("track:%p, object:%p", track, object); - if (G_UNLIKELY (object->track != NULL)) { + if (G_UNLIKELY (ges_track_object_get_track (object) != NULL)) { GST_WARNING ("Object already belongs to another track"); return FALSE; } - if (G_UNLIKELY (object->gnlobject != NULL)) { - GST_ERROR ("TrackObject doesn't have a gnlobject !"); + /* At this point, the track object shouldn't have any gnlobject since + * it hasn't been added to a track yet. + * FIXME : This check seems a bit obsolete */ + if (G_UNLIKELY (ges_track_object_get_gnlobject (object) != NULL)) { + GST_ERROR ("TrackObject already controls a gnlobject !"); return FALSE; } @@ -323,9 +327,8 @@ ges_track_add_object (GESTrack * track, GESTrackObject * object) GST_DEBUG ("Adding object to ourself"); - /* make sure the object has a valid gnlobject ! */ if (G_UNLIKELY (!gst_bin_add (GST_BIN (track->priv->composition), - object->gnlobject))) { + ges_track_object_get_gnlobject (object)))) { GST_WARNING ("Couldn't add object to the GnlComposition"); return FALSE; } @@ -349,6 +352,7 @@ gboolean ges_track_remove_object (GESTrack * track, GESTrackObject * object) { GESTrackPrivate *priv; + GstElement *gnlobject; g_return_val_if_fail (GES_IS_TRACK (track), FALSE); g_return_val_if_fail (GES_IS_TRACK_OBJECT (object), FALSE); @@ -357,14 +361,14 @@ ges_track_remove_object (GESTrack * track, GESTrackObject * object) priv = track->priv; - if (G_UNLIKELY (object->track != track)) { + if (G_UNLIKELY (ges_track_object_get_track (object) != track)) { GST_WARNING ("Object belongs to another track"); return FALSE; } - if (G_LIKELY (object->gnlobject != NULL)) { + if ((gnlobject = ges_track_object_get_gnlobject (object))) { GST_DEBUG ("Removing GnlObject from composition"); - if (!gst_bin_remove (GST_BIN (priv->composition), object->gnlobject)) { + if (!gst_bin_remove (GST_BIN (priv->composition), gnlobject)) { GST_WARNING ("Failed to remove gnlobject from composition"); return FALSE; } diff --git a/tests/check/ges/backgroundsource.c b/tests/check/ges/backgroundsource.c index 2af344d57c..b953759820 100644 --- a/tests/check/ges/backgroundsource.c +++ b/tests/check/ges/backgroundsource.c @@ -81,7 +81,8 @@ GST_START_TEST (test_test_source_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 12); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 0, TRUE); /* Change more properties, see if they propagate */ g_object_set (object, "start", (guint64) 420, "duration", (guint64) 510, @@ -94,13 +95,16 @@ GST_START_TEST (test_test_source_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 120); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, TRUE); /* Test mute support */ g_object_set (object, "mute", TRUE, NULL); - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, FALSE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, FALSE); g_object_set (object, "mute", FALSE, NULL); - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, TRUE); ges_timeline_object_release_track_object (object, trackobject); g_object_unref (object); diff --git a/tests/check/ges/filesource.c b/tests/check/ges/filesource.c index a33bf31139..5a7c0f3f0d 100644 --- a/tests/check/ges/filesource.c +++ b/tests/check/ges/filesource.c @@ -118,7 +118,8 @@ GST_START_TEST (test_filesource_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 12); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 0, TRUE); /* Change more properties, see if they propagate */ g_object_set (object, "start", (guint64) 420, "duration", (guint64) 510, @@ -131,13 +132,16 @@ GST_START_TEST (test_filesource_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 120); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, TRUE); /* Test mute support */ g_object_set (object, "mute", TRUE, NULL); - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, FALSE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, FALSE); g_object_set (object, "mute", FALSE, NULL); - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, TRUE); ges_timeline_object_release_track_object (object, trackobject); diff --git a/tests/check/ges/layer.c b/tests/check/ges/layer.c index d025f963ab..3fa40bf53c 100644 --- a/tests/check/ges/layer.c +++ b/tests/check/ges/layer.c @@ -104,32 +104,38 @@ GST_START_TEST (test_layer_properties) assert_equals_uint64 (GES_TIMELINE_OBJECT_DURATION (object), 51); assert_equals_uint64 (GES_TIMELINE_OBJECT_INPOINT (object), 12); assert_equals_uint64 (GES_TIMELINE_OBJECT_PRIORITY (object), 0); - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 0, TRUE); /* Change the priority of the layer */ g_object_set (layer, "priority", 1, NULL); assert_equals_int (ges_timeline_layer_get_priority (layer), 1); assert_equals_uint64 (GES_TIMELINE_OBJECT_PRIORITY (object), 10); - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 10, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 10, TRUE); /* Change it to an insanely high value */ g_object_set (layer, "priority", 1000000, NULL); assert_equals_int (ges_timeline_layer_get_priority (layer), 1000000); assert_equals_uint64 (GES_TIMELINE_OBJECT_PRIORITY (object), 10000000); - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 10000000, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 10000000, TRUE); /* and back to 0 */ g_object_set (layer, "priority", 0, NULL); assert_equals_int (ges_timeline_layer_get_priority (layer), 0); assert_equals_uint64 (GES_TIMELINE_OBJECT_PRIORITY (object), 0); - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 0, TRUE); /* check priority offsets */ assert_equals_int (GES_TIMELINE_OBJECT_HEIGHT (object), 1); g_object_set (trackobject, "priority-offset", (guint32) 3, NULL); - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 3, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 3, TRUE); g_object_set (object, "priority", 5, NULL); - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 8, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 8, TRUE); assert_equals_int (GES_TIMELINE_OBJECT_HEIGHT (object), 4); g_object_unref (trackobject); diff --git a/tests/check/ges/overlays.c b/tests/check/ges/overlays.c index 422e3c377f..017b5eb677 100644 --- a/tests/check/ges/overlays.c +++ b/tests/check/ges/overlays.c @@ -80,7 +80,8 @@ GST_START_TEST (test_overlay_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 12); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 0, TRUE); /* Change more properties, see if they propagate */ g_object_set (object, "start", (guint64) 420, "duration", (guint64) 510, @@ -93,7 +94,8 @@ GST_START_TEST (test_overlay_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 120); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, TRUE); ges_timeline_object_release_track_object (object, trackobject); g_object_unref (object); diff --git a/tests/check/ges/timelineobject.c b/tests/check/ges/timelineobject.c index 0125326a0d..8bd98c7ab8 100644 --- a/tests/check/ges/timelineobject.c +++ b/tests/check/ges/timelineobject.c @@ -88,7 +88,8 @@ GST_START_TEST (test_object_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 12); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 0, TRUE); /* Change more properties, see if they propagate */ g_object_set (object, "start", (guint64) 420, "duration", (guint64) 510, @@ -101,7 +102,8 @@ GST_START_TEST (test_object_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 120); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, TRUE); ges_timeline_object_release_track_object (object, trackobject); diff --git a/tests/check/ges/titles.c b/tests/check/ges/titles.c index 922e0b8e9e..ea36bed328 100644 --- a/tests/check/ges/titles.c +++ b/tests/check/ges/titles.c @@ -81,7 +81,8 @@ GST_START_TEST (test_title_source_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 12); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 0, TRUE); /* Change more properties, see if they propagate */ g_object_set (object, "start", (guint64) 420, "duration", (guint64) 510, @@ -94,13 +95,16 @@ GST_START_TEST (test_title_source_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 120); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, TRUE); /* Test mute support */ g_object_set (object, "mute", TRUE, NULL); - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, FALSE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, FALSE); g_object_set (object, "mute", FALSE, NULL); - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, TRUE); ges_timeline_object_release_track_object (object, trackobject); g_object_unref (object); diff --git a/tests/check/ges/transition.c b/tests/check/ges/transition.c index 4c184b1916..53ba6d3a65 100644 --- a/tests/check/ges/transition.c +++ b/tests/check/ges/transition.c @@ -111,7 +111,8 @@ GST_START_TEST (test_transition_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 12); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 42, 51, 12, + 51, 0, TRUE); /* Change more properties, see if they propagate */ g_object_set (object, "start", (guint64) 420, "duration", (guint64) 510, @@ -124,7 +125,8 @@ GST_START_TEST (test_transition_properties) assert_equals_uint64 (GES_TRACK_OBJECT_INPOINT (trackobject), 120); /* And let's also check that it propagated correctly to GNonLin */ - gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, TRUE); + gnl_object_check (ges_track_object_get_gnlobject (trackobject), 420, 510, 120, + 510, 0, TRUE); /* test changing vtype */ GST_DEBUG ("Setting to crossfade"); diff --git a/tests/examples/overlays.c b/tests/examples/overlays.c index 8f16dbf5d1..6ecb53b4f0 100644 --- a/tests/examples/overlays.c +++ b/tests/examples/overlays.c @@ -84,7 +84,7 @@ print_transition_data (GESTimelineObject * tr) trackobjects = ges_timeline_object_get_track_objects (tr); trackobj = GES_TRACK_OBJECT (trackobjects->data); - gnlobj = trackobj->gnlobject; + gnlobj = ges_track_object_get_gnlobject (trackobj); g_object_get (gnlobj, "start", &start, "duration", &duration, "priority", &priority, "name", &name, NULL); diff --git a/tests/examples/test1.c b/tests/examples/test1.c index e6252932a1..f2e450963b 100644 --- a/tests/examples/test1.c +++ b/tests/examples/test1.c @@ -27,14 +27,15 @@ fill_customsrc (GESTimelineObject * object, GESTrackObject * trobject, { GstElement *src; guint var = GPOINTER_TO_UINT (user_data); + GESTrack *track = ges_track_object_get_track (trobject); /* Based on the Track type, we will either put a videotestsrc * or an audiotestsrc */ - if (trobject->track->type == GES_TRACK_TYPE_VIDEO) { + if (track->type == GES_TRACK_TYPE_VIDEO) { src = gst_element_factory_make ("videotestsrc", NULL); g_object_set (src, "pattern", var, NULL); - } else if (trobject->track->type == GES_TRACK_TYPE_AUDIO) { + } else if (track->type == GES_TRACK_TYPE_AUDIO) { src = gst_element_factory_make ("audiotestsrc", NULL); g_object_set (src, "freq", 440.0 * (var + 1), NULL); } else diff --git a/tests/examples/text_properties.c b/tests/examples/text_properties.c index ab63e9e001..0aa93a080a 100644 --- a/tests/examples/text_properties.c +++ b/tests/examples/text_properties.c @@ -68,7 +68,7 @@ print_transition_data (GESTimelineObject * tr) trackobjects = ges_timeline_object_get_track_objects (tr); trackobj = GES_TRACK_OBJECT (trackobjects->data); - gnlobj = trackobj->gnlobject; + gnlobj = ges_track_object_get_gnlobject (trackobj); g_object_get (gnlobj, "start", &start, "duration", &duration, "priority", &priority, "name", &name, NULL); diff --git a/tests/examples/transition.c b/tests/examples/transition.c index c7184f86a2..bdbace00ce 100644 --- a/tests/examples/transition.c +++ b/tests/examples/transition.c @@ -69,7 +69,7 @@ print_transition_data (GESTimelineObject * tr) trackobjects = ges_timeline_object_get_track_objects (tr); trackobj = GES_TRACK_OBJECT (trackobjects->data); - gnlobj = trackobj->gnlobject; + gnlobj = ges_track_object_get_gnlobject (trackobj); g_object_get (gnlobj, "start", &start, "duration", &duration, "priority", &priority, "name", &name, NULL); diff --git a/tools/ges-launch.c b/tools/ges-launch.c index 053237ed91..aef61a49b5 100644 --- a/tools/ges-launch.c +++ b/tools/ges-launch.c @@ -97,7 +97,7 @@ pattern_source_fill_func (GESTimelineObject * object, GESTrackObject * trobject, GstElement * gnlobj, gpointer user_data) { guint pattern = GPOINTER_TO_UINT (user_data); - GESTrack *track = trobject->track; + GESTrack *track = ges_track_object_get_track (trobject); GstElement *testsrc; g_assert (track);