gstreamer_core/gst/gstelement.h
branchRCL_3
changeset 29 567bb019e3e3
parent 0 0e761a78d257
child 30 7e817e7e631c
equal deleted inserted replaced
6:9b2c3c7a1a9c 29:567bb019e3e3
   261  * Get the pads of this elements.
   261  * Get the pads of this elements.
   262  */
   262  */
   263 #define GST_ELEMENT_PADS(elem)			(GST_ELEMENT_CAST(elem)->pads)
   263 #define GST_ELEMENT_PADS(elem)			(GST_ELEMENT_CAST(elem)->pads)
   264 
   264 
   265 /**
   265 /**
       
   266  * GST_ELEMENT_START_TIME:
       
   267  * @elem: a #GstElement to return the start time for.
       
   268  *
       
   269  * This macro returns the start_time of the @elem. The start_time is the
       
   270  * running_time of the pipeline when the element went to PAUSED.
       
   271  *
       
   272  * Since: 0.10.24
       
   273  */
       
   274 #define GST_ELEMENT_START_TIME(elem)		(GST_ELEMENT_CAST(elem)->abidata.ABI.start_time)
       
   275 
       
   276 /**
   266  * GST_ELEMENT_ERROR:
   277  * GST_ELEMENT_ERROR:
   267  * @el:     the element that generates the error
   278  * @el:     the element that generates the error
   268  * @domain: like CORE, LIBRARY, RESOURCE or STREAM (see #GstGError)
   279  * @domain: like CORE, LIBRARY, RESOURCE or STREAM (see #gstreamer-GstGError)
   269  * @code:   error code defined for that domain (see #GstGError)
   280  * @code:   error code defined for that domain (see #gstreamer-GstGError)
   270  * @text:   the message to display (format string and args enclosed in
   281  * @text:   the message to display (format string and args enclosed in
   271             parentheses)
   282             parentheses)
   272  * @debug:  debugging information for the message (format string and args
   283  * @debug:  debugging information for the message (format string and args
   273             enclosed in parentheses)
   284             enclosed in parentheses)
   274  *
   285  *
   392  * parent element or the application. A #GstPipeline has a bus of its own.
   403  * parent element or the application. A #GstPipeline has a bus of its own.
   393  * @clock: the clock of the element. This clock is usually provided by to the
   404  * @clock: the clock of the element. This clock is usually provided by to the
   394  * element by the toplevel #GstPipeline.
   405  * element by the toplevel #GstPipeline.
   395  * @base_time: the time of the clock right before the element is set to
   406  * @base_time: the time of the clock right before the element is set to
   396  * PLAYING. Subtracting @base_time from the current clock time in the PLAYING
   407  * PLAYING. Subtracting @base_time from the current clock time in the PLAYING
   397  * state will yield the stream time.
   408  * state will yield the running_time against the clock.
   398  * @numpads: number of pads of the element, includes both source and sink pads.
   409  * @numpads: number of pads of the element, includes both source and sink pads.
   399  * @pads: list of pads
   410  * @pads: list of pads
   400  * @numsrcpads: number of source pads of the element.
   411  * @numsrcpads: number of source pads of the element.
   401  * @srcpads: list of source pads
   412  * @srcpads: list of source pads
   402  * @numsinkpads: number of sink pads of the element.
   413  * @numsinkpads: number of sink pads of the element.
   439   /*< private >*/
   450   /*< private >*/
   440   union {
   451   union {
   441     struct {
   452     struct {
   442       /* state set by application */
   453       /* state set by application */
   443       GstState              target_state;
   454       GstState              target_state;
       
   455       /* running time of the last PAUSED state */
       
   456       GstClockTime          start_time;
   444     } ABI;
   457     } ABI;
   445     /* adding + 0 to mark ABI change to be undone later */
   458     /* adding + 0 to mark ABI change to be undone later */
   446     gpointer _gst_reserved[GST_PADDING + 0];
   459     gpointer _gst_reserved[GST_PADDING + 0];
   447   } abidata;
   460   } abidata;
   448 };
   461 };
   636 #ifdef __SYMBIAN32__
   649 #ifdef __SYMBIAN32__
   637 IMPORT_C
   650 IMPORT_C
   638 #endif
   651 #endif
   639 
   652 
   640 GstClockTime		gst_element_get_base_time	(GstElement *element);
   653 GstClockTime		gst_element_get_base_time	(GstElement *element);
       
   654 #ifdef __SYMBIAN32__
       
   655 IMPORT_C
       
   656 #endif
       
   657 
       
   658 void			gst_element_set_start_time	(GstElement *element, GstClockTime time);
       
   659 #ifdef __SYMBIAN32__
       
   660 IMPORT_C
       
   661 #endif
       
   662 
       
   663 GstClockTime		gst_element_get_start_time	(GstElement *element);
   641 
   664 
   642 /* indexes */
   665 /* indexes */
   643 #ifdef __SYMBIAN32__
   666 #ifdef __SYMBIAN32__
   644 IMPORT_C
   667 IMPORT_C
   645 #endif
   668 #endif
   682 #ifdef __SYMBIAN32__
   705 #ifdef __SYMBIAN32__
   683 IMPORT_C
   706 IMPORT_C
   684 #endif
   707 #endif
   685 
   708 
   686 void			gst_element_no_more_pads	(GstElement *element);
   709 void			gst_element_no_more_pads	(GstElement *element);
   687 #ifdef __SYMBIAN32__
   710 
   688 IMPORT_C
   711 #ifndef GST_DISABLE_DEPRECATED
   689 #endif
   712 #ifdef __SYMBIAN32__
   690 
   713 IMPORT_C
   691 
   714 #endif
   692 GstPad*			gst_element_get_pad		(GstElement *element, const gchar *name);
   715 GstPad*			gst_element_get_pad		(GstElement *element, const gchar *name);
       
   716 #endif /* GST_DISABLE_DEPRECATED */
   693 #ifdef __SYMBIAN32__
   717 #ifdef __SYMBIAN32__
   694 IMPORT_C
   718 IMPORT_C
   695 #endif
   719 #endif
   696 
   720 
   697 GstPad*			gst_element_get_static_pad	(GstElement *element, const gchar *name);
   721 GstPad*			gst_element_get_static_pad	(GstElement *element, const gchar *name);
   756 gboolean		gst_element_post_message	(GstElement * element, GstMessage * message);
   780 gboolean		gst_element_post_message	(GstElement * element, GstMessage * message);
   757 
   781 
   758 /* error handling */
   782 /* error handling */
   759 /* gcc versions < 3.3 warn about NULL being passed as format to printf */
   783 /* gcc versions < 3.3 warn about NULL being passed as format to printf */
   760 #if (defined(GST_USING_PRINTF_EXTENSION) || !defined(__GNUC__) || (__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 3))
   784 #if (defined(GST_USING_PRINTF_EXTENSION) || !defined(__GNUC__) || (__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 3))
   761 gchar *			_gst_element_error_printf	(const gchar *format, ...);
   785 IMPORT_C gchar *			_gst_element_error_printf	(const gchar *format, ...);
   762 #else
   786 #else
   763 gchar *			_gst_element_error_printf	(const gchar *format, ...) G_GNUC_PRINTF (1, 2);
   787 IMPORT_C gchar *			_gst_element_error_printf	(const gchar *format, ...) G_GNUC_PRINTF (1, 2);
   764 #endif
   788 #endif
   765 void			gst_element_message_full	(GstElement * element, GstMessageType type,
   789 IMPORT_C void			gst_element_message_full	(GstElement * element, GstMessageType type,
   766 							 GQuark domain, gint code, gchar * text,
   790 							 GQuark domain, gint code, gchar * text,
   767 							 gchar * debug, const gchar * file,
   791 							 gchar * debug, const gchar * file,
   768 							 const gchar * function, gint line);
   792 							 const gchar * function, gint line);
   769 
   793 
   770 /* state management */
   794 /* state management */
   818 #ifdef __SYMBIAN32__
   842 #ifdef __SYMBIAN32__
   819 IMPORT_C
   843 IMPORT_C
   820 #endif
   844 #endif
   821 
   845 
   822 void			gst_element_lost_state	        (GstElement * element);
   846 void			gst_element_lost_state	        (GstElement * element);
       
   847 #ifdef __SYMBIAN32__
       
   848 IMPORT_C
       
   849 #endif
       
   850 
       
   851 void			gst_element_lost_state_full     (GstElement * element, gboolean new_base_time);
   823 
   852 
   824 /* factory management */
   853 /* factory management */
   825 #ifdef __SYMBIAN32__
   854 #ifdef __SYMBIAN32__
   826 IMPORT_C
   855 IMPORT_C
   827 #endif
   856 #endif