*/
/**
* SECTION:gstminiobject
+ * @title: GstMiniObject
* @short_description: Lightweight base class for the GStreamer object hierarchy
*
* #GstMiniObject is a simple structure that can be used to implement refcounted
g_return_val_if_fail (mini_object->refcount > 0, NULL);
*/
+ GST_TRACER_MINI_OBJECT_REFFED (mini_object, mini_object->refcount + 1);
GST_CAT_TRACE (GST_CAT_REFCOUNTING, "%p ref %d->%d", mini_object,
GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object),
GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) + 1);
if (G_UNLIKELY (g_atomic_int_dec_and_test (&mini_object->refcount))) {
gboolean do_free;
+ GST_TRACER_MINI_OBJECT_UNREFFED (mini_object, mini_object->refcount);
if (mini_object->dispose)
do_free = mini_object->dispose (mini_object);
else
if (mini_object->free)
mini_object->free (mini_object);
}
+ } else {
+ GST_TRACER_MINI_OBJECT_UNREFFED (mini_object, mini_object->refcount);
}
}