+2004-04-05 David Schleef <ds@schleef.org>
+
+ * gst/gstbuffer.c: (_gst_buffer_sub_free),
+ (gst_buffer_default_free), (gst_buffer_default_copy),
+ (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
+ (gst_buffer_new), (gst_buffer_create_sub): Allocate GstBuffer
+ structures in one place.
+
2004-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
* gst/gstinfo.h: adding Ronald's timestamp debugging defines
static GstMemChunk *chunk;
+static GstBuffer *gst_buffer_alloc_chunk (void);
+static void gst_buffer_free_chunk (GstBuffer * buffer);
+
void
_gst_buffer_initialize (void)
{
_GST_DATA_DISPOSE (GST_DATA (buffer));
- gst_mem_chunk_free (chunk, GST_DATA (buffer));
-#ifndef GST_DISABLE_TRACE
- gst_alloc_trace_free (_gst_buffer_trace, buffer);
-#endif
+ gst_buffer_free_chunk (buffer);
}
/**
_GST_DATA_DISPOSE (GST_DATA (buffer));
- gst_mem_chunk_free (chunk, GST_DATA (buffer));
-#ifndef GST_DISABLE_TRACE
- gst_alloc_trace_free (_gst_buffer_trace, buffer);
-#endif
+ gst_buffer_free_chunk (buffer);
}
/**
g_return_val_if_fail (buffer != NULL, NULL);
/* create a fresh new buffer */
- copy = gst_mem_chunk_alloc (chunk);
-#ifndef GST_DISABLE_TRACE
- gst_alloc_trace_new (_gst_buffer_trace, copy);
-#endif
+ copy = gst_buffer_alloc_chunk ();
_GST_DATA_INIT (GST_DATA (copy),
_gst_buffer_type,
return copy;
}
+static GstBuffer *
+gst_buffer_alloc_chunk (void)
+{
+ GstBuffer *newbuf;
+
+ newbuf = gst_mem_chunk_alloc (chunk);
+#ifndef GST_DISABLE_TRACE
+ gst_alloc_trace_new (_gst_buffer_trace, newbuf);
+#endif
+
+ return newbuf;
+}
+
+static void
+gst_buffer_free_chunk (GstBuffer * buffer)
+{
+ gst_mem_chunk_free (chunk, GST_DATA (buffer));
+#ifndef GST_DISABLE_TRACE
+ gst_alloc_trace_free (_gst_buffer_trace, buffer);
+#endif
+}
+
/**
* gst_buffer_new:
*
{
GstBuffer *newbuf;
- newbuf = gst_mem_chunk_alloc (chunk);
-#ifndef GST_DISABLE_TRACE
- gst_alloc_trace_new (_gst_buffer_trace, newbuf);
-#endif
+ newbuf = gst_buffer_alloc_chunk ();
GST_CAT_LOG (GST_CAT_BUFFER, "new %p", newbuf);
gst_data_ref (GST_DATA (parent));
/* create the new buffer */
- buffer = gst_mem_chunk_alloc (chunk);
-#ifndef GST_DISABLE_TRACE
- gst_alloc_trace_new (_gst_buffer_trace, buffer);
-#endif
+ buffer = gst_buffer_alloc_chunk ();
GST_CAT_LOG (GST_CAT_BUFFER, "new subbuffer %p (parent %p)", buffer, parent);