diff options
-rw-r--r-- | gst/gstbuffer.c | 16 | ||||
-rw-r--r-- | gst/gstevent.c | 27 |
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); |