diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2017-05-15 19:47:22 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2017-05-17 10:40:52 +0300 |
commit | 67fb3b12ee60c2219862bcd9821ab94a091fe069 (patch) | |
tree | 3c5a9e863bb41648085b715bb195cbae566a9a71 | |
parent | 2a8784e218df35f1ec1699a59394974349aba67c (diff) |
gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent
https://bugzilla.gnome.org/show_bug.cgi?id=743062
-rw-r--r-- | gst-libs/gst/allocators/gstdmabuf.c | 9 | ||||
-rw-r--r-- | gst-libs/gst/allocators/gstfdmemory.c | 9 | ||||
-rw-r--r-- | gst-libs/gst/video/gstvideopool.c | 3 | ||||
-rw-r--r-- | sys/ximage/ximagepool.c | 2 | ||||
-rw-r--r-- | sys/xvimage/xvimageallocator.c | 1 | ||||
-rw-r--r-- | sys/xvimage/xvimagepool.c | 1 |
6 files changed, 20 insertions, 5 deletions
diff --git a/gst-libs/gst/allocators/gstdmabuf.c b/gst-libs/gst/allocators/gstdmabuf.c index dab1056ec..170267be5 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 267035b96..29e2773f4 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 2ada77afc..de4c08954 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 9e5539302..2f44c286d 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 3a2728c23..429c5aaa7 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 7203105aa..116c6d1dc 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); |