From: Wim Taymans Date: Thu, 24 Mar 2011 12:01:00 +0000 (+0100) Subject: memory: remove memory metadata again X-Git-Tag: RELEASE-0.11.0~502 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=121ab46aa6df4e5420dfba510fbfcb8bc1a00d8d;p=platform%2Fupstream%2Fgstreamer.git memory: remove memory metadata again --- diff --git a/gst/gst.c b/gst/gst.c index efa71a9..fe2b21c 100644 --- a/gst/gst.c +++ b/gst/gst.c @@ -752,7 +752,6 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data, g_type_class_ref (gst_search_mode_get_type ()); g_type_class_ref (gst_progress_type_get_type ()); g_type_class_ref (gst_buffer_pool_flags_get_type ()); - g_type_class_ref (gst_meta_map_flags_get_type ()); gst_structure_get_type (); _gst_event_initialize (); @@ -1118,7 +1117,6 @@ gst_deinit (void) g_type_class_unref (g_type_class_peek (gst_param_spec_fraction_get_type ())); g_type_class_unref (g_type_class_peek (gst_progress_type_get_type ())); g_type_class_unref (g_type_class_peek (gst_buffer_pool_flags_get_type ())); - g_type_class_unref (g_type_class_peek (gst_meta_map_flags_get_type ())); gst_deinitialized = TRUE; GST_INFO ("deinitialized GStreamer"); diff --git a/gst/gstmeta.c b/gst/gstmeta.c index d64b719..3fae0ce 100644 --- a/gst/gstmeta.c +++ b/gst/gstmeta.c @@ -107,125 +107,6 @@ gst_meta_get_info (const gchar * impl) return info; } -/* Memory metadata */ -typedef struct -{ - guint8 *data; - GFreeFunc free_func; - gsize size; - gsize offset; -} GstMetaMemoryParams; - -typedef struct -{ - GstMetaMemory memory; - GstMetaMemoryParams params; -} GstMetaMemoryImpl; - -static gpointer -meta_memory_mmap (GstMetaMemory * meta, gsize offset, gsize * size, - GstMetaMapFlags flags) -{ - GstMetaMemoryImpl *impl = (GstMetaMemoryImpl *) meta; - - *size = impl->params.size - offset; - return impl->params.data + offset; -} - -static gboolean -meta_memory_munmap (GstMetaMemory * meta, gpointer data, gsize size) -{ - return TRUE; -} - -static gboolean -meta_memory_init (GstMetaMemoryImpl * meta, GstMetaMemoryParams * params, - GstBuffer * buffer) -{ - GST_DEBUG ("init %p", buffer); - meta->memory.mmap_func = meta_memory_mmap; - meta->memory.munmap_func = meta_memory_munmap; - meta->params = *params; - - /* FIXME, backwards compatibility */ - //GST_BUFFER_DATA (buffer) = params->data + params->offset; - //GST_BUFFER_SIZE (buffer) = params->size; - - return TRUE; -} - -static void -meta_memory_free (GstMetaMemoryImpl * meta, GstBuffer * buffer) -{ - GST_DEBUG ("free buffer %p", buffer); - if (meta->params.free_func) - meta->params.free_func (meta->params.data); -} - -static void -meta_memory_transform (GstBuffer * transbuf, GstMetaMemoryImpl * meta, - GstBuffer * buffer, GstMetaTransformData * data) -{ - switch (data->type) { - case GST_META_TRANSFORM_COPY: - { - GST_DEBUG ("copy %p to %p", buffer, transbuf); - gst_buffer_add_meta_memory (transbuf, - g_memdup (meta->params.data, meta->params.size), - g_free, meta->params.size, meta->params.offset); - break; - } - case GST_META_TRANSFORM_TRIM: - { - GstMetaTransformSubbuffer *subdata = (GstMetaTransformSubbuffer *) data; - - GST_DEBUG ("trim %p to %p", buffer, transbuf); - gst_buffer_add_meta_memory (transbuf, - meta->params.data, NULL, subdata->size, - meta->params.offset + subdata->offset); - break; - } - case GST_META_TRANSFORM_MAKE_WRITABLE: - { - GST_DEBUG ("make writable %p to %p", buffer, transbuf); - gst_buffer_add_meta_memory (transbuf, - meta->params.data, NULL, meta->params.size, meta->params.offset); - break; - } - default: - /* don't copy by default */ - break; - } -} - -const GstMetaInfo * -gst_meta_memory_get_info (void) -{ - static const GstMetaInfo *meta_info = NULL; - - if (meta_info == NULL) { - meta_info = gst_meta_register ("GstMetaMemory", "GstMetaMemoryImpl", - sizeof (GstMetaMemoryImpl), - (GstMetaInitFunction) meta_memory_init, - (GstMetaFreeFunction) meta_memory_free, - (GstMetaTransformFunction) meta_memory_transform, - (GstMetaSerializeFunction) NULL, (GstMetaDeserializeFunction) NULL); - } - return meta_info; -} - -GstMetaMemory * -gst_buffer_add_meta_memory (GstBuffer * buffer, gpointer data, - GFreeFunc free_func, gsize size, gsize offset) -{ - GstMeta *meta; - GstMetaMemoryParams params = { data, free_func, size, offset }; - - meta = gst_buffer_add_meta (buffer, GST_META_MEMORY_INFO, ¶ms); - - return (GstMetaMemory *) meta; -} - /* Timing metadata */ static void meta_timing_transform (GstBuffer * transbuf, GstMetaTiming * meta, diff --git a/gst/gstmeta.h b/gst/gstmeta.h index 58a2295..6b1b2ab 100644 --- a/gst/gstmeta.h +++ b/gst/gstmeta.h @@ -181,34 +181,6 @@ const GstMetaInfo * gst_meta_get_info (const gchar * impl); /* default metadata */ -/* memory metadata */ -typedef struct _GstMetaMemory GstMetaMemory; - -const GstMetaInfo *gst_meta_memory_get_info(void); -#define GST_META_MEMORY_INFO (gst_meta_memory_get_info()) - -typedef enum { - GST_META_MAP_NONE = 0, - GST_META_MAP_READ = (1 << 0), - GST_META_MAP_WRITE = (1 << 1) -} GstMetaMapFlags; - -struct _GstMetaMemory -{ - GstMeta meta; - - gpointer (*mmap_func) (GstMetaMemory *meta, gsize offset, gsize *size, - GstMetaMapFlags flags); - gboolean (*munmap_func) (GstMetaMemory *meta, gpointer data, gsize size); -}; - -#define gst_meta_memory_map(m,o,s,f) ((m)->mmap_func(m, o, s, f)) -#define gst_meta_memory_unmap(m,d,s) ((m)->munmap_func(m, d, s)) - -#define gst_buffer_get_meta_memory(b) ((GstMetaMemory*)gst_buffer_get_meta((b),GST_META_MEMORY_INFO)) -GstMetaMemory * gst_buffer_add_meta_memory (GstBuffer *buffer, gpointer data, - GFreeFunc free_func, - gsize size, gsize offset); /* timing metadata */ typedef struct _GstMetaTiming GstMetaTiming; diff --git a/libs/gst/base/gstadapter.c b/libs/gst/base/gstadapter.c index f8fd360..0dfdb67 100644 --- a/libs/gst/base/gstadapter.c +++ b/libs/gst/base/gstadapter.c @@ -424,7 +424,7 @@ gst_adapter_map (GstAdapter * adapter, gsize size) csize = gst_buffer_get_size (cur); if (csize >= size + skip) { - data = gst_buffer_map (cur, &csize, NULL, GST_META_MAP_READ); + data = gst_buffer_map (cur, &csize, NULL, GST_MAP_READ); adapter->priv->cdata = data; adapter->priv->csize = csize; return data + skip; diff --git a/tests/check/gst/gstbufferlist.c b/tests/check/gst/gstbufferlist.c index 4aeea16..4789ae9 100644 --- a/tests/check/gst/gstbufferlist.c +++ b/tests/check/gst/gstbufferlist.c @@ -69,7 +69,7 @@ check_buffer (GstBuffer * buf, gsize size, const gchar * data) gchar *bdata; gsize bsize, csize, msize; - bdata = gst_buffer_map (buf, &bsize, &msize, GST_META_MAP_READ); + bdata = gst_buffer_map (buf, &bsize, &msize, GST_MAP_READ); csize = size ? size : bsize; GST_DEBUG ("%lu %lu %lu", bsize, csize, msize); fail_unless (bsize == csize); diff --git a/tests/check/gst/gstmeta.c b/tests/check/gst/gstmeta.c index 1aa2ca1..7b3946c 100644 --- a/tests/check/gst/gstmeta.c +++ b/tests/check/gst/gstmeta.c @@ -194,75 +194,6 @@ GST_START_TEST (test_meta_test) GST_END_TEST; -GST_START_TEST (test_meta_memory) -{ - GstBuffer *buffer, *copy; - GstMetaMemory *meta; - guint8 *data; - gsize size; - guint i; - - buffer = gst_buffer_new (); - - /* add some memory metadata */ - meta = gst_buffer_add_meta_memory (buffer, g_malloc (4), g_free, 4, 0); - fail_if (meta == NULL); - fail_if (meta->mmap_func == NULL); - fail_if (meta->munmap_func == NULL); - - /* prepare for writing */ - data = gst_meta_memory_map (meta, 0, &size, GST_META_MAP_WRITE); - fail_if (data == NULL); - fail_if (size != 4); - for (i = 0; i < 4; i++) - data[i] = i; - gst_meta_memory_unmap (meta, data, size); - - /* reading */ - meta = gst_buffer_get_meta_memory (buffer); - fail_if (meta == NULL); - - data = gst_meta_memory_map (meta, 0, &size, GST_META_MAP_READ); - fail_if (data == NULL); - fail_if (size != 4); - for (i = 0; i < 4; i++) - fail_if (data[i] != i); - gst_meta_memory_unmap (meta, data, size); - - /* copy of the buffer */ - copy = gst_buffer_copy (buffer); - /* get metadata of the buffer */ - meta = gst_buffer_get_meta_memory (copy); - fail_if (meta == NULL); - data = gst_meta_memory_map (meta, 0, &size, GST_META_MAP_READ); - fail_if (data == NULL); - fail_if (size != 4); - for (i = 0; i < 4; i++) - fail_if (data[i] != i); - gst_meta_memory_unmap (meta, data, size); - gst_buffer_unref (copy); - -#if 0 - /* FIXME, does not work yet */ - /* make a subbuffer */ - subbuf = gst_buffer_create_sub (buffer, 1, 3); - meta = gst_buffer_get_meta_memory (subbuf); - fail_if (meta == NULL); - data = gst_meta_memory_map (meta, 0, &size, GST_META_MAP_READ); - fail_if (data == NULL); - fail_if (size != 3); - for (i = 0; i < 3; i++) - fail_if (data[i] != i + 1); - gst_meta_memory_unmap (meta, data, size); - gst_buffer_unref (subbuf); -#endif - - /* clean up */ - gst_buffer_unref (buffer); -} - -GST_END_TEST; - static Suite * gst_buffermeta_suite (void) { @@ -271,7 +202,6 @@ gst_buffermeta_suite (void) suite_add_tcase (s, tc_chain); tcase_add_test (tc_chain, test_meta_test); - tcase_add_test (tc_chain, test_meta_memory); return s; } diff --git a/tests/check/gst/gstpad.c b/tests/check/gst/gstpad.c index 6a5636d..ea8c35c 100644 --- a/tests/check/gst/gstpad.c +++ b/tests/check/gst/gstpad.c @@ -422,7 +422,7 @@ buffer_compare (GstBuffer * buf, const gchar * str, gsize size) gboolean res; gpointer data; - data = gst_buffer_map (buf, NULL, NULL, GST_META_MAP_READ); + data = gst_buffer_map (buf, NULL, NULL, GST_MAP_READ); res = memcmp (data, str, size) == 0; gst_buffer_unmap (buf, data, size);