gst: clear floating references for GstTask, GstTaskPool and GstCollectPads

https://bugzilla.gnome.org/show_bug.cgi?id=710342
This commit is contained in:
Brendan Long 2013-10-30 17:02:35 -05:00 committed by Sebastian Dröge
parent f605472230
commit f85c1c4648
3 changed files with 8 additions and 0 deletions

View file

@ -197,6 +197,9 @@ gst_task_init (GstTask * task)
g_mutex_lock (&pool_lock); g_mutex_lock (&pool_lock);
task->priv->pool = gst_object_ref (klass->pool); task->priv->pool = gst_object_ref (klass->pool);
g_mutex_unlock (&pool_lock); g_mutex_unlock (&pool_lock);
/* clear floating flag */
gst_object_ref_sink (task);
} }
static void static void

View file

@ -141,6 +141,8 @@ gst_task_pool_class_init (GstTaskPoolClass * klass)
static void static void
gst_task_pool_init (GstTaskPool * pool) gst_task_pool_init (GstTaskPool * pool)
{ {
/* clear floating flag */
gst_object_ref_sink (pool);
} }
#ifndef GST_DISABLE_GST_DEBUG #ifndef GST_DISABLE_GST_DEBUG

View file

@ -265,6 +265,9 @@ gst_collect_pads_init (GstCollectPads * pads)
pads->priv->seeking = FALSE; pads->priv->seeking = FALSE;
pads->priv->pending_flush_start = FALSE; pads->priv->pending_flush_start = FALSE;
pads->priv->pending_flush_stop = FALSE; pads->priv->pending_flush_stop = FALSE;
/* clear floating flag */
gst_object_ref_sink (pads);
} }
static void static void