summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2017-05-15 19:47:22 +0300
committerSebastian Dröge <sebastian@centricular.com>2017-05-17 10:40:52 +0300
commit67fb3b12ee60c2219862bcd9821ab94a091fe069 (patch)
tree3c5a9e863bb41648085b715bb195cbae566a9a71
parent2a8784e218df35f1ec1699a59394974349aba67c (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.c9
-rw-r--r--gst-libs/gst/allocators/gstfdmemory.c9
-rw-r--r--gst-libs/gst/video/gstvideopool.c3
-rw-r--r--sys/ximage/ximagepool.c2
-rw-r--r--sys/xvimage/xvimageallocator.c1
-rw-r--r--sys/xvimage/xvimagepool.c1
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);