plugins: add init/clear functions to GstQueueArray
authorTim-Philipp Müller <tim@centricular.net>
Sat, 14 Jul 2012 18:38:39 +0000 (19:38 +0100)
committerTim-Philipp Müller <tim@centricular.net>
Sat, 14 Jul 2012 18:38:39 +0000 (19:38 +0100)
plugins/elements/gstqueuearray.c
plugins/elements/gstqueuearray.h

index 9e2ed54..f16f7ae 100644 (file)
 #include <gst/gst.h>
 #include "gstqueuearray.h"
 
-GstQueueArray *
-gst_queue_array_new (guint initial_size)
+void
+gst_queue_array_init (GstQueueArray * array, guint initial_size)
 {
-  GstQueueArray *array = g_malloc (sizeof (GstQueueArray));
-
   array->size = initial_size;
   array->array = g_new0 (gpointer, initial_size);
   array->head = 0;
   array->tail = 0;
   array->length = 0;
 
+}
+
+GstQueueArray *
+gst_queue_array_new (guint initial_size)
+{
+  GstQueueArray *array;
+
+  array = g_new (GstQueueArray, 1);
+  gst_queue_array_init (array, initial_size);
   return array;
 }
 
@@ -102,9 +109,15 @@ gst_queue_array_is_empty (GstQueueArray * array)
 }
 
 void
-gst_queue_array_free (GstQueueArray * array)
+gst_queue_array_clear (GstQueueArray * array)
 {
   g_free (array->array);
+}
+
+void
+gst_queue_array_free (GstQueueArray * array)
+{
+  gst_queue_array_clear (array);
   g_free (array);
 }
 
index 0c79540..dd28993 100644 (file)
@@ -35,6 +35,9 @@ struct _GstQueueArray
   guint length;
 };
 
+void gst_queue_array_init (GstQueueArray * array, guint initial_size);
+void gst_queue_array_clear (GstQueueArray * array);
+
 GstQueueArray *gst_queue_array_new (guint initial_size);
 gpointer gst_queue_array_pop_head (GstQueueArray * array);
 void gst_queue_array_push_tail (GstQueueArray * array, gpointer data);