ges: Reimplement 'always create a project to back a timeline'
authorThibault Saunier <thibault.saunier@collabora.com>
Thu, 28 Nov 2013 18:13:06 +0000 (15:13 -0300)
committerThibault Saunier <thibault.saunier@collabora.com>
Thu, 28 Nov 2013 18:47:50 +0000 (15:47 -0300)
Keeping it simple, and making sure everything is synchronous

ges/ges-project.c
ges/ges-timeline.c

index c6fd7934e04c47f6d0a5eac7c5fa790c997da63c..47ce90ddde7861dab66b30a20c9703f971fa2ef8 100644 (file)
@@ -234,7 +234,7 @@ _uri_missing_accumulator (GSignalInvocationHint * ihint, GValue * return_accu,
 static GESExtractable *
 ges_project_extract (GESAsset * project, GError ** error)
 {
-  GESTimeline *timeline = ges_timeline_new ();
+  GESTimeline *timeline = g_object_new (GES_TYPE_TIMELINE, NULL);
 
   ges_extractable_set_asset (GES_EXTRACTABLE (timeline), GES_ASSET (project));
   if (_load_project (GES_PROJECT (project), timeline, error))
index 121eac9eca27a8fba144220d0e51df91ead0ff7a..73964b1335370564322bc8b131237fe8c278aac9 100644 (file)
@@ -2374,7 +2374,13 @@ pad_removed_cb (GESTrack * track, GstPad * pad, TrackPrivate * tr_priv)
 GESTimeline *
 ges_timeline_new (void)
 {
-  return g_object_new (GES_TYPE_TIMELINE, NULL);
+  GESProject *project = ges_project_new (NULL);
+  GESExtractable *timeline = g_object_new (GES_TYPE_TIMELINE, NULL);
+
+  ges_extractable_set_asset (timeline, GES_ASSET (project));
+  gst_object_unref (project);
+
+  return GES_TIMELINE (timeline);
 }
 
 /**