*
* Return a new dmabuf allocator.
*
- * Returns: (transfer floating): a new dmabuf allocator, or NULL if the allocator
+ * Returns: (transfer full): a new dmabuf allocator, or NULL if the allocator
* isn't available. Use gst_object_unref() to release the allocator after
* usage
*
GstAllocator *
gst_dmabuf_allocator_new (void)
{
+ GstAllocator *alloc;
+
GST_DEBUG_CATEGORY_INIT (dmabuf_debug, "dmabuf", 0, "dmabuf memory");
- return g_object_new (GST_TYPE_DMABUF_ALLOCATOR, NULL);
+ alloc = g_object_new (GST_TYPE_DMABUF_ALLOCATOR, NULL);
+ gst_object_ref_sink (alloc);
+
+ return alloc;
}
/**
*
* Return a new fd allocator.
*
- * Returns: (transfer floating): a new fd allocator, or NULL if the allocator
+ * Returns: (transfer full): a new fd allocator, or NULL if the allocator
* isn't available. Use gst_object_unref() to release the allocator after
* usage
*
GstAllocator *
gst_fd_allocator_new (void)
{
- return g_object_new (GST_TYPE_FD_ALLOCATOR, NULL);
+ GstAllocator *alloc;
+
+ alloc = g_object_new (GST_TYPE_FD_ALLOCATOR, NULL);
+ gst_object_ref_sink (alloc);
+
+ return alloc;
}
/**
* Create a new bufferpool that can allocate video frames. This bufferpool
* supports all the video bufferpool options.
*
- * Returns: (transfer floating): a new #GstBufferPool to allocate video frames
+ * Returns: (transfer full): a new #GstBufferPool to allocate video frames
*/
GstBufferPool *
gst_video_buffer_pool_new ()
GstVideoBufferPool *pool;
pool = g_object_new (GST_TYPE_VIDEO_BUFFER_POOL, NULL);
+ gst_object_ref_sink (pool);
GST_LOG_OBJECT (pool, "new video buffer pool %p", pool);
g_return_val_if_fail (GST_IS_X_IMAGE_SINK (ximagesink), NULL);
pool = g_object_new (GST_TYPE_XIMAGE_BUFFER_POOL, NULL);
+ gst_object_ref_sink (pool);
pool->sink = gst_object_ref (ximagesink);
pool->allocator = g_object_new (GST_TYPE_XIMAGE_MEMORY_ALLOCATOR, NULL);
+ gst_object_ref_sink (pool->allocator);
GST_LOG_OBJECT (pool, "new XImage buffer pool %p", pool);
alloc = g_object_new (GST_TYPE_XVIMAGE_ALLOCATOR, NULL);
alloc->context = gst_xvcontext_ref (context);
+ gst_object_ref_sink (alloc);
return alloc;
}
GstXvImageBufferPool *pool;
pool = g_object_new (GST_TYPE_XVIMAGE_BUFFER_POOL, NULL);
+ gst_object_ref_sink (pool);
pool->allocator = gst_object_ref (allocator);
GST_LOG_OBJECT (pool, "new XvImage buffer pool %p", pool);