diff --git a/gst-libs/gst/allocators/gstdmabuf.c b/gst-libs/gst/allocators/gstdmabuf.c index dab1056ecf..170267be5f 100644 --- a/gst-libs/gst/allocators/gstdmabuf.c +++ b/gst-libs/gst/allocators/gstdmabuf.c @@ -62,7 +62,7 @@ gst_dmabuf_allocator_init (GstDmaBufAllocator * allocator) * * 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 * @@ -71,9 +71,14 @@ gst_dmabuf_allocator_init (GstDmaBufAllocator * allocator) 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; } /** diff --git a/gst-libs/gst/allocators/gstfdmemory.c b/gst-libs/gst/allocators/gstfdmemory.c index 267035b96d..29e2773f4c 100644 --- a/gst-libs/gst/allocators/gstfdmemory.c +++ b/gst-libs/gst/allocators/gstfdmemory.c @@ -236,7 +236,7 @@ gst_fd_allocator_init (GstFdAllocator * allocator) * * 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 * @@ -245,7 +245,12 @@ gst_fd_allocator_init (GstFdAllocator * allocator) 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; } /** diff --git a/gst-libs/gst/video/gstvideopool.c b/gst-libs/gst/video/gstvideopool.c index 2ada77afc2..de4c089547 100644 --- a/gst-libs/gst/video/gstvideopool.c +++ b/gst-libs/gst/video/gstvideopool.c @@ -280,7 +280,7 @@ no_memory: * 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 () @@ -288,6 +288,7 @@ 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); diff --git a/sys/ximage/ximagepool.c b/sys/ximage/ximagepool.c index 9e5539302a..2f44c286d8 100644 --- a/sys/ximage/ximagepool.c +++ b/sys/ximage/ximagepool.c @@ -675,8 +675,10 @@ gst_ximage_buffer_pool_new (GstXImageSink * ximagesink) 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); diff --git a/sys/xvimage/xvimageallocator.c b/sys/xvimage/xvimageallocator.c index 3a2728c23c..429c5aaa70 100644 --- a/sys/xvimage/xvimageallocator.c +++ b/sys/xvimage/xvimageallocator.c @@ -328,6 +328,7 @@ gst_xvimage_allocator_new (GstXvContext * context) alloc = g_object_new (GST_TYPE_XVIMAGE_ALLOCATOR, NULL); alloc->context = gst_xvcontext_ref (context); + gst_object_ref_sink (alloc); return alloc; } diff --git a/sys/xvimage/xvimagepool.c b/sys/xvimage/xvimagepool.c index 7203105aa0..116c6d1dce 100644 --- a/sys/xvimage/xvimagepool.c +++ b/sys/xvimage/xvimagepool.c @@ -209,6 +209,7 @@ gst_xvimage_buffer_pool_new (GstXvImageAllocator * allocator) 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);