Merge remote-tracking branch 'origin/0.10'
[platform/upstream/gstreamer.git] / ges / ges-timeline.c
index 1e4f7bd..008d9c8 100644 (file)
@@ -36,7 +36,6 @@
  * documentation about #GESFormatter.
  */
 
-#include "gesmarshal.h"
 #include "ges-internal.h"
 #include "ges-timeline.h"
 #include "ges-track.h"
@@ -50,7 +49,7 @@ static inline void init_movecontext (MoveContext * mv_ctx);
 G_DEFINE_TYPE (GESTimeline, ges_timeline, GST_TYPE_BIN);
 
 #define GES_TIMELINE_PENDINGOBJS_GET_LOCK(timeline) \
-  (GES_TIMELINE(timeline)->priv->pendingobjects_lock)
+  (&GES_TIMELINE(timeline)->priv->pendingobjects_lock)
 #define GES_TIMELINE_PENDINGOBJS_LOCK(timeline) \
   (g_mutex_lock(GES_TIMELINE_PENDINGOBJS_GET_LOCK (timeline)))
 #define GES_TIMELINE_PENDINGOBJS_UNLOCK(timeline) \
@@ -106,7 +105,7 @@ struct _GESTimelinePrivate
   GstDiscoverer *discoverer;
   GList *pendingobjects;
   /* lock to avoid discovery of objects that will be removed */
-  GMutex *pendingobjects_lock;
+  GMutex pendingobjects_lock;
 
   /* Whether we are changing state asynchronously or not */
   gboolean async_pending;
@@ -248,7 +247,7 @@ ges_timeline_finalize (GObject * object)
 {
   GESTimeline *timeline = GES_TIMELINE (object);
 
-  g_mutex_free (timeline->priv->pendingobjects_lock);
+  g_mutex_clear (&timeline->priv->pendingobjects_lock);
 
   G_OBJECT_CLASS (ges_timeline_parent_class)->finalize (object);
 }
@@ -305,7 +304,7 @@ ges_timeline_class_init (GESTimelineClass * klass)
   ges_timeline_signals[TRACK_ADDED] =
       g_signal_new ("track-added", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GESTimelineClass, track_added), NULL,
-      NULL, ges_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GES_TYPE_TRACK);
+      NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 1, GES_TYPE_TRACK);
 
   /**
    * GESTimeline::track-removed
@@ -317,7 +316,7 @@ ges_timeline_class_init (GESTimelineClass * klass)
   ges_timeline_signals[TRACK_REMOVED] =
       g_signal_new ("track-removed", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GESTimelineClass, track_removed),
-      NULL, NULL, ges_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GES_TYPE_TRACK);
+      NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 1, GES_TYPE_TRACK);
 
   /**
    * GESTimeline::layer-added
@@ -329,7 +328,8 @@ ges_timeline_class_init (GESTimelineClass * klass)
   ges_timeline_signals[LAYER_ADDED] =
       g_signal_new ("layer-added", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GESTimelineClass, layer_added), NULL,
-      NULL, ges_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GES_TYPE_TIMELINE_LAYER);
+      NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 1,
+      GES_TYPE_TIMELINE_LAYER);
 
   /**
    * GESTimeline::layer-removed
@@ -341,7 +341,7 @@ ges_timeline_class_init (GESTimelineClass * klass)
   ges_timeline_signals[LAYER_REMOVED] =
       g_signal_new ("layer-removed", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GESTimelineClass, layer_removed),
-      NULL, NULL, ges_marshal_VOID__OBJECT, G_TYPE_NONE, 1,
+      NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 1,
       GES_TYPE_TIMELINE_LAYER);
 
   /**
@@ -354,8 +354,8 @@ ges_timeline_class_init (GESTimelineClass * klass)
    */
   ges_timeline_signals[DISCOVERY_ERROR] =
       g_signal_new ("discovery-error", G_TYPE_FROM_CLASS (klass),
-      G_SIGNAL_RUN_FIRST, 0, NULL, NULL, gst_marshal_VOID__OBJECT_BOXED,
-      G_TYPE_NONE, 2, GES_TYPE_TIMELINE_FILE_SOURCE, GST_TYPE_G_ERROR);
+      G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_generic,
+      G_TYPE_NONE, 2, GES_TYPE_TIMELINE_FILE_SOURCE, G_TYPE_ERROR);
 
   /**
    * GESTimeline::track-objects-snapping:
@@ -416,7 +416,7 @@ ges_timeline_init (GESTimeline * self)
   priv->starts_ends = g_sequence_new (g_free);
   priv->tracksources = g_sequence_new (g_object_unref);
 
-  priv->pendingobjects_lock = g_mutex_new ();
+  g_mutex_init (&priv->pendingobjects_lock);
   /* New discoverer with a 15s timeout */
   priv->discoverer = gst_discoverer_new (15 * GST_SECOND, NULL);
   g_signal_connect (priv->discoverer, "finished",
@@ -1395,7 +1395,7 @@ do_async_start (GESTimeline * timeline)
     gst_element_set_locked_state ((GstElement *) tr_priv->track, TRUE);
   }
 
-  message = gst_message_new_async_start (GST_OBJECT_CAST (timeline), FALSE);
+  message = gst_message_new_async_start (GST_OBJECT_CAST (timeline));
   parent_class->handle_message (GST_BIN_CAST (timeline), message);
 }
 
@@ -1414,7 +1414,7 @@ do_async_done (GESTimeline * timeline)
     }
 
     GST_DEBUG_OBJECT (timeline, "Emitting async-done");
-    message = gst_message_new_async_done (GST_OBJECT_CAST (timeline));
+    message = gst_message_new_async_done (GST_OBJECT_CAST (timeline), FALSE);
     parent_class->handle_message (GST_BIN_CAST (timeline), message);
 
     timeline->priv->async_pending = FALSE;