gst-inspect: fix unused-const-variable error in windows
[platform/upstream/gstreamer.git] / gst / gstpipeline.h
index 7dbf96f..ac0befb 100644 (file)
@@ -16,8 +16,8 @@
  *
  * You should have received a copy of the GNU Library General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_PIPELINE              (gst_pipeline_get_type ())
-#define GST_PIPELINE(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PIPELINE, GstPipeline))
-#define GST_IS_PIPELINE(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_PIPELINE))
-#define GST_PIPELINE_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PIPELINE, GstPipelineClass))
-#define GST_IS_PIPELINE_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_PIPELINE))
-#define GST_PIPELINE_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_PIPELINE, GstPipelineClass))
-#define GST_PIPELINE_CAST(obj)                 ((GstPipeline*)(obj))
+#define GST_TYPE_PIPELINE               (gst_pipeline_get_type ())
+#define GST_PIPELINE(obj)               (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PIPELINE, GstPipeline))
+#define GST_IS_PIPELINE(obj)            (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_PIPELINE))
+#define GST_PIPELINE_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PIPELINE, GstPipelineClass))
+#define GST_IS_PIPELINE_CLASS(klass)    (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_PIPELINE))
+#define GST_PIPELINE_GET_CLASS(obj)     (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_PIPELINE, GstPipelineClass))
+#define GST_PIPELINE_CAST(obj)          ((GstPipeline*)(obj))
 
 typedef struct _GstPipeline GstPipeline;
 typedef struct _GstPipelineClass GstPipelineClass;
@@ -55,7 +55,7 @@ typedef enum {
 
 /**
  * GstPipeline:
- * @fixed_clock: The fixed clock of the pipeline, used when 
+ * @fixed_clock: The fixed clock of the pipeline, used when
  *               GST_PIPELINE_FLAG_FIXED_CLOCK is set.
  * @stream_time: The stream time of the pipeline. A better name for this
  *         property would be the running_time, the total time spent in the
@@ -67,18 +67,18 @@ typedef enum {
  * The #GstPipeline structure.
  */
 struct _GstPipeline {
-  GstBin        bin;
+  GstBin         bin;
 
   /*< public >*/ /* with LOCK */
   GstClock      *fixed_clock;
 
-  GstClockTime   stream_time;  
+  GstClockTime   stream_time;
   GstClockTime   delay;
 
   /*< private >*/
   GstPipelinePrivate *priv;
 
-  gpointer _gst_reserved[GST_PADDING-1];
+  gpointer _gst_reserved[GST_PADDING];
 };
 
 struct _GstPipelineClass {
@@ -88,22 +88,52 @@ struct _GstPipelineClass {
   gpointer _gst_reserved[GST_PADDING];
 };
 
-GType          gst_pipeline_get_type           (void);
-GstElement*    gst_pipeline_new                (const gchar *name);
+GST_API
+GType           gst_pipeline_get_type           (void);
+
+GST_API
+GstElement*     gst_pipeline_new                (const gchar *name) G_GNUC_MALLOC;
 
-GstBus*                gst_pipeline_get_bus            (GstPipeline *pipeline);
+GST_API
+GstBus*         gst_pipeline_get_bus            (GstPipeline *pipeline);
 
+GST_API
 void            gst_pipeline_use_clock          (GstPipeline *pipeline, GstClock *clock);
+
+GST_API
 gboolean        gst_pipeline_set_clock          (GstPipeline *pipeline, GstClock *clock);
+
+GST_API
 GstClock*       gst_pipeline_get_clock          (GstPipeline *pipeline);
+
+GST_API
+GstClock*       gst_pipeline_get_pipeline_clock (GstPipeline *pipeline);
+
+GST_API
 void            gst_pipeline_auto_clock         (GstPipeline *pipeline);
 
+GST_API
 void            gst_pipeline_set_delay          (GstPipeline *pipeline, GstClockTime delay);
+
+GST_API
 GstClockTime    gst_pipeline_get_delay          (GstPipeline *pipeline);
 
+GST_API
+void            gst_pipeline_set_latency        (GstPipeline *pipeline, GstClockTime latency);
+
+GST_API
+GstClockTime    gst_pipeline_get_latency        (GstPipeline *pipeline);
+
+GST_API
 void            gst_pipeline_set_auto_flush_bus (GstPipeline *pipeline, gboolean auto_flush);
+
+GST_API
 gboolean        gst_pipeline_get_auto_flush_bus (GstPipeline *pipeline);
 
+#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstPipeline, gst_object_unref)
+#endif
+
 G_END_DECLS
 
 #endif /* __GST_PIPELINE_H__ */