diff -r 4b0c6ed43234 -r 8e837d1bf446 gstreamer_core/gst/gstelement.h --- 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__