summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@gnome.org>2002-03-17 21:42:56 +0000
committerBenjamin Otte <otte@gnome.org>2002-03-17 21:42:56 +0000
commitc8f59fe1965b5073c8ffd32091de1e817fffb56c (patch)
tree5dd702f5f04bdb84dd6f38c0e3bde9f10b8e1446
parent3a76f205feb4005018fa6bd7142b9e87c2506463 (diff)
disable the use of memchunks for now - we need a threadsafe solution
Original commit message from CVS: disable the use of memchunks for now - we need a threadsafe solution
-rw-r--r--gst/gstbuffer.c16
-rw-r--r--gst/gstevent.c27
2 files changed, 25 insertions, 18 deletions
diff --git a/gst/gstbuffer.c b/gst/gstbuffer.c
index 176e12771b..59a3d6f741 100644
--- a/gst/gstbuffer.c
+++ b/gst/gstbuffer.c
@@ -27,7 +27,8 @@
#include "gstbuffer.h"
#include "gstobject.h"
-static GMemChunk *_buffer_chunk = NULL;
+/* memchunks are slower if you have to lock them */
+/* static GMemChunk *_buffer_chunk = NULL;*/
static GstBufferPool *_default_pool = NULL;
static GstBufferPool *_sub_buffer_pool = NULL;
@@ -50,11 +51,12 @@ static void gst_buffer_pool_sub_buffer_dispose (GstData *buffer);
void
_gst_buffer_initialize (void)
{
- gint buffersize = sizeof (GstBuffer);
- if (_buffer_chunk == NULL)
+ /*gint buffersize = sizeof (GstBuffer);
+ if (_buffer_chunk == NULL)*/
+ if (_default_pool == NULL)
{
/* create the default buffer chunk */
- _buffer_chunk = g_mem_chunk_new ("GstBufferChunk", buffersize, buffersize * 128, G_ALLOC_AND_FREE);
+ /*_buffer_chunk = g_mem_chunk_new ("GstBufferChunk", buffersize, buffersize * 128, G_ALLOC_AND_FREE);*/
/* create the default pool that uses g_malloc/free */
_default_pool = gst_buffer_pool_new ();
/* create the pool for subbuffers */
@@ -78,7 +80,8 @@ _gst_buffer_initialize (void)
GstBuffer *
gst_buffer_alloc (void)
{
- return g_mem_chunk_alloc (_buffer_chunk);
+ /* return g_mem_chunk_alloc (_buffer_chunk);*/
+ return g_new (GstBuffer, 1);
}
/**
* gst_buffer_free:
@@ -89,7 +92,8 @@ gst_buffer_alloc (void)
void
gst_buffer_free (GstBuffer *buffer)
{
- g_mem_chunk_free (_buffer_chunk, buffer);
+ /* g_mem_chunk_free (_buffer_chunk, buffer);*/
+ g_free (buffer);
}
/**
* gst_buffer_init:
diff --git a/gst/gstevent.c b/gst/gstevent.c
index 231e15aab5..67217e0c09 100644
--- a/gst/gstevent.c
+++ b/gst/gstevent.c
@@ -29,12 +29,12 @@
static void gst_event_free (GstData *data);
static void gst_event_lock_free (GstData *data);
-static GMemChunk *_gst_event_chunk = NULL;
+/* static GMemChunk *_gst_event_chunk = NULL;*/
void
_gst_event_initialize (void)
{
- gint eventsize = sizeof(GstData);
+/* gint eventsize = sizeof(GstData);
eventsize = eventsize > sizeof(GstEventEOS) ? eventsize : sizeof(GstEventEOS);
eventsize = eventsize > sizeof(GstEventDiscontinuous) ? eventsize : sizeof(GstEventDiscontinuous);
eventsize = eventsize > sizeof(GstEventNewMedia) ? eventsize : sizeof(GstEventNewMedia);
@@ -50,7 +50,7 @@ _gst_event_initialize (void)
_gst_event_chunk = g_mem_chunk_new ("GstEvent", eventsize,
eventsize * 32, G_ALLOC_AND_FREE);
GST_INFO (GST_CAT_EVENT, "event system initialized.");
- }
+ }*/
}
/**
* gst_event_new:
@@ -73,7 +73,8 @@ gst_event_new (GstDataType type)
case GST_EVENT_FLUSH:
case GST_EVENT_EMPTY:
case GST_EVENT_UNLOCK:
- event = g_mem_chunk_alloc (_gst_event_chunk);
+ /* event = g_mem_chunk_alloc (_gst_event_chunk);*/
+ event = g_new (GstData, 1);
g_return_val_if_fail (event != NULL, NULL);
gst_event_init (event);
event->type = type;
@@ -104,7 +105,8 @@ static void
gst_event_free (GstData *data)
{
GST_DEBUG (GST_CAT_EVENT, "freeing event %p", data);
- g_mem_chunk_free (_gst_event_chunk, data);
+ /* g_mem_chunk_free (_gst_event_chunk, data); */
+ g_free (data);
}
/**
* gst_event_seek_init:
@@ -151,8 +153,8 @@ gst_event_new_seek (GstSeekType type, GstOffsetType offset_type, gint64 offset,
GstEventSeek *event;
g_return_val_if_fail (offset_type < GST_OFFSET_TYPES, NULL);
- /* using malloc for now */
- event = g_mem_chunk_alloc (_gst_event_chunk);
+ /* event = g_mem_chunk_alloc (_gst_event_chunk); */
+ event = g_new (GstEventSeek, 1);
g_return_val_if_fail (event != NULL, NULL);
gst_event_seek_init (event, type, offset_type);
@@ -213,7 +215,8 @@ gst_event_lock_free (GstData *data)
event->on_delete (event->func_data);
}
GST_DEBUG (GST_CAT_EVENT, "freeing lock event %p", data);
- g_mem_chunk_free (_gst_event_chunk, data);
+ /* g_mem_chunk_free (_gst_event_chunk, data); */
+ g_free (data);
}
/**
* gst_event_new_lock:
@@ -229,8 +232,8 @@ gst_event_new_lock (GstLockFunction func, gpointer data)
{
GstEventLock *event;
- /* using malloc for now */
- event = g_mem_chunk_alloc (_gst_event_chunk);
+ /* event = g_mem_chunk_alloc (_gst_event_chunk);*/
+ event = g_new (GstEventLock, 1);
g_return_val_if_fail (event != NULL, NULL);
gst_event_lock_init (event);
@@ -295,8 +298,8 @@ gst_event_new_length (GstOffsetType original, GstEventAccuracy accuracy, guint64
{
GstEventLength *event;
- /* using malloc for now */
- event = g_mem_chunk_alloc (_gst_event_chunk);
+ /* event = g_mem_chunk_alloc (_gst_event_chunk);*/
+ event = g_new (GstEventLength, 1);
g_return_val_if_fail (event != NULL, NULL);
gst_event_length_init (event);