From 59d9992ed02f0e9f650481e940e8aba8d96409f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= Date: Thu, 12 Feb 2015 19:40:06 -0500 Subject: [PATCH] pipeline: Add binding friendly gst_pipeline_get_pipeline_clock() Also skip gst_pipeline_get_clock() and gst_pipeline_set_clock() from the bindings as they are confused with gst_element_*_clock(). API: gst_pipeline_get_pipeline_clock() https://bugzilla.gnome.org/show_bug.cgi?id=744442 --- docs/gst/gstreamer-sections.txt | 1 + gst/gstpipeline.c | 30 +++++++++++++++++++++++++++--- gst/gstpipeline.h | 1 + 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt index 9ebcb8c7de..2929cb0986 100644 --- a/docs/gst/gstreamer-sections.txt +++ b/docs/gst/gstreamer-sections.txt @@ -2128,6 +2128,7 @@ gst_pipeline_new gst_pipeline_get_bus gst_pipeline_set_clock +gst_pipeline_get_pipeline_clock gst_pipeline_get_clock gst_pipeline_use_clock diff --git a/gst/gstpipeline.c b/gst/gstpipeline.c index 7c47ae7fa4..92d1405132 100644 --- a/gst/gstpipeline.c +++ b/gst/gstpipeline.c @@ -628,15 +628,39 @@ gst_pipeline_provide_clock_func (GstElement * element) } /** - * gst_pipeline_get_clock: + * gst_pipeline_get_clock: (skip) * @pipeline: a #GstPipeline * - * Gets the current clock used by @pipeline. + * Gets the current clock used by @pipeline. Users of object + * oriented languages should use gst_pipeline_get_pipeline_clock() + * to avoid confusion with gst_element_get_clock() which has a different behavior. + * + * Unlike gst_element_get_clock(), this function will always return a + * clock, even if the pipeline is not in the PLAYING state. * * Returns: (transfer full): a #GstClock, unref after usage. */ GstClock * gst_pipeline_get_clock (GstPipeline * pipeline) +{ + return gst_pipeline_get_pipeline_clock (pipeline); +} + +/** + * gst_pipeline_get_pipeline_clock: + * @pipeline: a #GstPipeline + * + * Gets the current clock used by @pipeline. + * + * Unlike gst_element_get_clock(), this function will always return a + * clock, even if the pipeline is not in the PLAYING state. + * + * Returns: (transfer full): a #GstClock, unref after usage. + * + * Since: 1.6 + */ +GstClock * +gst_pipeline_get_pipeline_clock (GstPipeline * pipeline) { g_return_val_if_fail (GST_IS_PIPELINE (pipeline), NULL); @@ -677,7 +701,7 @@ gst_pipeline_use_clock (GstPipeline * pipeline, GstClock * clock) } /** - * gst_pipeline_set_clock: + * gst_pipeline_set_clock: (skip) * @pipeline: a #GstPipeline * @clock: (transfer none): the clock to set * diff --git a/gst/gstpipeline.h b/gst/gstpipeline.h index 0dae4c772a..192ec2dfd6 100644 --- a/gst/gstpipeline.h +++ b/gst/gstpipeline.h @@ -96,6 +96,7 @@ GstBus* gst_pipeline_get_bus (GstPipeline *pipeline); void gst_pipeline_use_clock (GstPipeline *pipeline, GstClock *clock); gboolean gst_pipeline_set_clock (GstPipeline *pipeline, GstClock *clock); GstClock* gst_pipeline_get_clock (GstPipeline *pipeline); +GstClock* gst_pipeline_get_pipeline_clock (GstPipeline *pipeline); void gst_pipeline_auto_clock (GstPipeline *pipeline); void gst_pipeline_set_delay (GstPipeline *pipeline, GstClockTime delay);