gstreamer_core/gst/gstelement.h
changeset 16 8e837d1bf446
parent 0 0e761a78d257
child 10 6f340f756486
--- a/gstreamer_core/gst/gstelement.h	Wed Mar 24 17:58:42 2010 -0500
+++ b/gstreamer_core/gst/gstelement.h	Wed Mar 24 18:04:17 2010 -0500
@@ -263,10 +263,21 @@
 #define GST_ELEMENT_PADS(elem)			(GST_ELEMENT_CAST(elem)->pads)
 
 /**
+ * GST_ELEMENT_START_TIME:
+ * @elem: a #GstElement to return the start time for.
+ *
+ * This macro returns the start_time of the @elem. The start_time is the
+ * running_time of the pipeline when the element went to PAUSED.
+ *
+ * Since: 0.10.24
+ */
+#define GST_ELEMENT_START_TIME(elem)		(GST_ELEMENT_CAST(elem)->abidata.ABI.start_time)
+
+/**
  * GST_ELEMENT_ERROR:
  * @el:     the element that generates the error
- * @domain: like CORE, LIBRARY, RESOURCE or STREAM (see #GstGError)
- * @code:   error code defined for that domain (see #GstGError)
+ * @domain: like CORE, LIBRARY, RESOURCE or STREAM (see #gstreamer-GstGError)
+ * @code:   error code defined for that domain (see #gstreamer-GstGError)
  * @text:   the message to display (format string and args enclosed in
             parentheses)
  * @debug:  debugging information for the message (format string and args
@@ -394,7 +405,7 @@
  * element by the toplevel #GstPipeline.
  * @base_time: the time of the clock right before the element is set to
  * PLAYING. Subtracting @base_time from the current clock time in the PLAYING
- * state will yield the stream time.
+ * state will yield the running_time against the clock.
  * @numpads: number of pads of the element, includes both source and sink pads.
  * @pads: list of pads
  * @numsrcpads: number of source pads of the element.
@@ -441,6 +452,8 @@
     struct {
       /* state set by application */
       GstState              target_state;
+      /* running time of the last PAUSED state */
+      GstClockTime          start_time;
     } ABI;
     /* adding + 0 to mark ABI change to be undone later */
     gpointer _gst_reserved[GST_PADDING + 0];
@@ -638,6 +651,16 @@
 #endif
 
 GstClockTime		gst_element_get_base_time	(GstElement *element);
+#ifdef __SYMBIAN32__
+IMPORT_C
+#endif
+
+void			gst_element_set_start_time	(GstElement *element, GstClockTime time);
+#ifdef __SYMBIAN32__
+IMPORT_C
+#endif
+
+GstClockTime		gst_element_get_start_time	(GstElement *element);
 
 /* indexes */
 #ifdef __SYMBIAN32__
@@ -684,12 +707,10 @@
 #endif
 
 void			gst_element_no_more_pads	(GstElement *element);
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
 
-
+#ifndef GST_DISABLE_DEPRECATED
 GstPad*			gst_element_get_pad		(GstElement *element, const gchar *name);
+#endif /* GST_DISABLE_DEPRECATED */
 #ifdef __SYMBIAN32__
 IMPORT_C
 #endif
@@ -820,6 +841,11 @@
 #endif
 
 void			gst_element_lost_state	        (GstElement * element);
+#ifdef __SYMBIAN32__
+IMPORT_C
+#endif
+
+void			gst_element_lost_state_full     (GstElement * element, gboolean new_base_time);
 
 /* factory management */
 #ifdef __SYMBIAN32__