From cb86bf99bc38a35b9c4dd0fd6b219b0673702143 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Sun, 27 Feb 2011 20:54:58 +0100 Subject: [PATCH] meta: simplify a bit --- gst/gstmeta.c | 14 ++++++++------ gst/gstmeta.h | 17 ++++++++--------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/gst/gstmeta.c b/gst/gstmeta.c index 445f4c0117..8bb9c5883a 100644 --- a/gst/gstmeta.c +++ b/gst/gstmeta.c @@ -123,15 +123,17 @@ typedef struct } GstMetaMemoryImpl; static gpointer -meta_memory_mmap (GstMetaMemoryImpl * meta, gsize offset, gsize * size, +meta_memory_mmap (GstMetaMemory * meta, gsize offset, gsize * size, GstMetaMapFlags flags) { - *size = meta->params.size - offset; - return meta->params.data + offset; + GstMetaMemoryImpl *impl = (GstMetaMemoryImpl *) meta; + + *size = impl->params.size - offset; + return impl->params.data + offset; } static gboolean -meta_memory_munmap (GstMetaMemoryImpl * meta, gpointer data, gsize size) +meta_memory_munmap (GstMetaMemory * meta, gpointer data, gsize size) { return TRUE; } @@ -140,8 +142,8 @@ static gboolean meta_memory_init (GstMetaMemoryImpl * meta, GstMetaMemoryParams * params, GstBuffer * buffer) { - meta->memory.mmap_func = (GstMetaMapFunc) meta_memory_mmap; - meta->memory.munmap_func = (GstMetaUnmapFunc) meta_memory_munmap; + meta->memory.mmap_func = meta_memory_mmap; + meta->memory.munmap_func = meta_memory_munmap; meta->params = *params; return TRUE; } diff --git a/gst/gstmeta.h b/gst/gstmeta.h index dbe8ddc1b8..02723a41eb 100644 --- a/gst/gstmeta.h +++ b/gst/gstmeta.h @@ -147,29 +147,28 @@ const GstMetaInfo * gst_meta_get_info (const gchar * impl); 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; -typedef gpointer (*GstMetaMapFunc) (GstMetaMemory *meta, guint offset, guint *size, - GstMetaMapFlags flags); -typedef gboolean (*GstMetaUnmapFunc) (GstMetaMemory *meta, gpointer data, guint size); - struct _GstMetaMemory { - GstMeta meta; + GstMeta meta; - GstMetaMapFunc mmap_func; - GstMetaUnmapFunc munmap_func; + 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)) -const GstMetaInfo *gst_meta_memory_get_info(void); -#define GST_META_MEMORY_INFO (gst_meta_memory_get_info()) +#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,