audioclock: Sink the reference in the constructor
authorSebastian Dröge <sebastian@centricular.com>
Mon, 15 May 2017 11:20:32 +0000 (14:20 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 17 May 2017 07:40:52 +0000 (10:40 +0300)
This is now needed as GstClock does not do that internally anymore,
because that broke bindings.

And mark the function correctly as (transfer full), which it already was
before.

https://bugzilla.gnome.org/show_bug.cgi?id=743062

gst-libs/gst/audio/gstaudioclock.c

index a413611a6f7308673f1c850e68ba2e65bef7f144..d9373a3ecaf2d0663b43b46d1cb2ccecdbf439cb 100644 (file)
@@ -97,7 +97,7 @@ gst_audio_clock_dispose (GObject * object)
  * calculated it will call @func with @user_data. When @func returns
  * #GST_CLOCK_TIME_NONE, the clock will return the last reported time.
  *
- * Returns: a new #GstAudioClock casted to a #GstClock.
+ * Returns: (transfer full): a new #GstAudioClock casted to a #GstClock.
  */
 GstClock *
 gst_audio_clock_new (const gchar * name, GstAudioClockGetTimeFunc func,
@@ -111,6 +111,8 @@ gst_audio_clock_new (const gchar * name, GstAudioClockGetTimeFunc func,
   aclock->user_data = user_data;
   aclock->destroy_notify = destroy_notify;
 
+  gst_object_ref_sink (aclock);
+
   return (GstClock *) aclock;
 }