*
* 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;
/**
* 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
* 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 {
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__ */