memory: pass user_data to the alloc function
authorWim Taymans <wim.taymans@collabora.co.uk>
Tue, 7 Jun 2011 15:54:33 +0000 (17:54 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Tue, 7 Jun 2011 15:54:33 +0000 (17:54 +0200)
Pass the user data that was passed to _register to the alloc function of an
allocator.

gst/gstmemory.c
gst/gstmemory.h

index f6e7c78..7446ec3 100644 (file)
@@ -691,5 +691,6 @@ gst_memory_allocator_alloc (const GstMemoryAllocator * allocator,
   if (allocator == NULL)
     allocator = _default_allocator;
 
-  return allocator->info.alloc (allocator, maxsize, align);
+  return allocator->info.alloc (allocator, maxsize, align,
+      allocator->info.user_data);
 }
index 3d9493c..307373d 100644 (file)
@@ -106,15 +106,21 @@ typedef enum {
 
 /**
  * GstMemoryAllocFunction:
+ * @allocator: a #GstMemoryAllocator
  * @maxsize: the maxsize
  * @align: the alignment
+ * @user_data: user data
  *
- * Allocate a new #GstMemory that can hold at least @maxsize bytes and is aligned
- * to (@align + 1) bytes.
+ * Allocate a new #GstMemory from @allocator that can hold at least @maxsize bytes
+ * and is aligned to (@align + 1) bytes.
+ *
+ * @user_data is the data that was used when registering @allocator.
  *
  * Returns: a newly allocated #GstMemory. Free with gst_memory_unref()
  */
-typedef GstMemory *  (*GstMemoryAllocFunction)  (const GstMemoryAllocator *allocator, gsize maxsize, gsize align);
+typedef GstMemory *  (*GstMemoryAllocFunction)  (const GstMemoryAllocator *allocator,
+                                                 gsize maxsize, gsize align,
+                                                 gpointer user_data);
 
 /**
  * GstMemoryGetSizesFunction: