bin: set the base_time and start_time better
authorWim Taymans <wim.taymans@collabora.co.uk>
Thu, 28 May 2009 13:40:01 +0000 (15:40 +0200)
committerWim Taymans <wim@metal.(none)>
Fri, 29 May 2009 09:55:38 +0000 (11:55 +0200)
Simply set the start_time and base_time on the element instead of calling the
setters.

gst/gstbin.c

index ffbcd5833353a56fd368eafafcd6930a2021457a..087c607003012d74a2bc97a47a5936a3bb314e1d 100644 (file)
@@ -1977,14 +1977,13 @@ gst_bin_element_set_state (GstBin * bin, GstElement * element,
   gboolean locked;
   GList *found;
 
-  /* set base_time and start time on child */
-  gst_element_set_base_time (element, base_time);
-  gst_element_set_start_time (element, start_time);
-
   GST_STATE_LOCK (element);
 
-  /* peel off the locked flag */
   GST_OBJECT_LOCK (element);
+  /* set base_time and start time on child */
+  GST_ELEMENT_START_TIME (element) = start_time;
+  element->base_time = base_time;
+  /* peel off the locked flag */
   locked = GST_OBJECT_FLAG_IS_SET (element, GST_ELEMENT_LOCKED_STATE);
   /* get previous state return */
   ret = GST_STATE_RETURN (element);