static GstClockID gst_clock_entry_new (GstClock * clock, GstClockTime time, GstClockTime interval, GstClockEntryType type) { GstClockEntry *entry; entry = g_slice_new (GstClockEntry); #ifndef GST_DISABLE_TRACE gst_alloc_trace_new (_gst_clock_entry_trace, entry); #endif GST_CAT_DEBUG_OBJECT (GST_CAT_CLOCK, clock, "created entry %p, time %" GST_TIME_FORMAT, entry, GST_TIME_ARGS (time)); entry->refcount = 1; entry->clock = clock; entry->type = type; entry->time = time; entry->interval = interval; entry->status = GST_CLOCK_OK; entry->func = NULL; entry->user_data = NULL; entry->destroy_data = NULL; return (GstClockID) entry; }
/** * gst_mini_object_new: * @type: the #GType of the mini-object to create * * Creates a new mini-object of the desired type. * * MT safe * * Returns: the new mini-object. */ GstMiniObject * gst_mini_object_new (GType type) { GstMiniObject *mini_object; /* we don't support dynamic types because they really aren't useful, * and could cause refcount problems */ mini_object = (GstMiniObject *) g_type_create_instance (type); #ifndef GST_DISABLE_TRACE gst_alloc_trace_new (_gst_mini_object_trace, mini_object); #endif return mini_object; }
static void gst_object_init (GstObject * object) { object->lock = g_mutex_new (); object->parent = NULL; object->name = NULL; GST_CAT_LOG_OBJECT (GST_CAT_REFCOUNTING, object, "%p new", object); #ifndef GST_DISABLE_TRACE gst_alloc_trace_new (_gst_object_trace, object); #endif object->flags = 0; GST_OBJECT_FLAG_SET (object, GST_OBJECT_FLOATING); }