gst: Clear floating flag in constructor of all GstObject subclasses that are not...
authorSebastian Dröge <sebastian@centricular.com>
Mon, 15 May 2017 16:47:22 +0000 (19:47 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 17 May 2017 07:40:52 +0000 (10:40 +0300)
https://bugzilla.gnome.org/show_bug.cgi?id=743062

gst-libs/gst/allocators/gstdmabuf.c
gst-libs/gst/allocators/gstfdmemory.c
gst-libs/gst/video/gstvideopool.c
sys/ximage/ximagepool.c
sys/xvimage/xvimageallocator.c
sys/xvimage/xvimagepool.c

index dab1056..170267b 100644 (file)
@@ -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;
 }
 
 /**
index 267035b..29e2773 100644 (file)
@@ -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;
 }
 
 /**
index 2ada77a..de4c089 100644 (file)
@@ -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);
 
index 9e55393..2f44c28 100644 (file)
@@ -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);
 
index 3a2728c..429c5aa 100644 (file)
@@ -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;
 }
index 7203105..116c6d1 100644 (file)
@@ -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);