}
static void
-handle_object_reffed (GstLeaksTracer * self, gpointer object, gint new_refcount,
- gboolean reffed, GstClockTime ts)
+handle_object_reffed (GstLeaksTracer * self, gpointer object, GType type,
+ gint new_refcount, gboolean reffed, GstClockTime ts)
{
ObjectRefingInfos *infos;
ObjectRefingInfo *refinfo;
if (!self->check_refs)
return;
+ if (!should_handle_object_type (self, type))
+ return;
+
GST_OBJECT_LOCK (self);
infos = g_hash_table_lookup (self->objects, object);
if (!infos)
{
GstLeaksTracer *self = GST_LEAKS_TRACER_CAST (tracer);
- handle_object_reffed (self, object, new_refcount, TRUE, ts);
+ handle_object_reffed (self, object, G_OBJECT_TYPE (object), new_refcount,
+ TRUE, ts);
}
static void
{
GstLeaksTracer *self = GST_LEAKS_TRACER_CAST (tracer);
- handle_object_reffed (self, object, new_refcount, FALSE, ts);
+ handle_object_reffed (self, object, G_OBJECT_TYPE (object), new_refcount,
+ FALSE, ts);
}
static void
{
GstLeaksTracer *self = GST_LEAKS_TRACER_CAST (tracer);
- handle_object_reffed (self, object, new_refcount, TRUE, ts);
+ handle_object_reffed (self, object, GST_MINI_OBJECT_TYPE (object),
+ new_refcount, TRUE, ts);
}
static void
{
GstLeaksTracer *self = GST_LEAKS_TRACER_CAST (tracer);
- handle_object_reffed (self, object, new_refcount, FALSE, ts);
+ handle_object_reffed (self, object, GST_MINI_OBJECT_TYPE (object),
+ new_refcount, FALSE, ts);
}
static void