diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-02-29 17:26:28 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-02-29 17:26:28 +0100 |
commit | ea4a0d1c2de926dd9e08faa386653cc962d77e34 (patch) | |
tree | 7ad26c7e78f1f6f9c409823f0714c819825f49f2 | |
parent | 1fb46f00ae05a42c8f067908829136b0220ed4b7 (diff) | |
download | gstreamer-plugins-bad-ea4a0d1c2de926dd9e08faa386653cc962d77e34.tar.gz |
update for metadata API changes
-rw-r--r-- | gst-libs/gst/video/gstbasevideodecoder.c | 2 | ||||
-rw-r--r-- | gst-libs/gst/video/gstsurfacemeta.c | 17 | ||||
-rw-r--r-- | gst-libs/gst/video/gstsurfacemeta.h | 5 |
3 files changed, 19 insertions, 5 deletions
diff --git a/gst-libs/gst/video/gstbasevideodecoder.c b/gst-libs/gst/video/gstbasevideodecoder.c index b1ae65bae..cf90c3cbf 100644 --- a/gst-libs/gst/video/gstbasevideodecoder.c +++ b/gst-libs/gst/video/gstbasevideodecoder.c @@ -2075,7 +2075,7 @@ gst_base_video_decoder_set_src_caps (GstBaseVideoDecoder * base_video_decoder) /* check if downstream supports cropping */ base_video_decoder->use_cropping = - gst_query_has_allocation_meta (query, GST_VIDEO_CROP_META_API); + gst_query_has_allocation_meta (query, GST_VIDEO_CROP_META_API_TYPE); gst_buffer_pool_set_config (pool, config); /* and activate */ diff --git a/gst-libs/gst/video/gstsurfacemeta.c b/gst-libs/gst/video/gstsurfacemeta.c index 9aee7b69c..0e22d0e3b 100644 --- a/gst-libs/gst/video/gstsurfacemeta.c +++ b/gst-libs/gst/video/gstsurfacemeta.c @@ -44,18 +44,29 @@ * </note> */ +GType +gst_surface_meta_api_get_type (void) +{ + static volatile GType type; + static const gchar *tags[] = { "memory", NULL }; + + if (g_once_init_enter (&type)) { + GType _type = gst_meta_api_type_register ("GstSurfaceMetaAPI", tags); + g_once_init_leave (&type, _type); + } + return type; +} const GstMetaInfo * gst_surface_meta_get_info (void) { static const GstMetaInfo *meta_info = NULL; - static const gchar *tags[] = { "memory" }; if (meta_info == NULL) { - meta_info = gst_meta_register ("GstSurfaceMeta", "GstSurfaceMeta", + meta_info = gst_meta_register (GST_SURFACE_META_API_TYPE, "GstSurfaceMeta", sizeof (GstSurfaceMeta), (GstMetaInitFunction) NULL, - (GstMetaFreeFunction) NULL, (GstMetaTransformFunction) NULL, tags); + (GstMetaFreeFunction) NULL, (GstMetaTransformFunction) NULL); } return meta_info; } diff --git a/gst-libs/gst/video/gstsurfacemeta.h b/gst-libs/gst/video/gstsurfacemeta.h index 8ff26cdfb..7ad5c6267 100644 --- a/gst-libs/gst/video/gstsurfacemeta.h +++ b/gst-libs/gst/video/gstsurfacemeta.h @@ -48,11 +48,14 @@ struct _GstSurfaceMeta { GValue *dest); }; +GType gst_surface_meta_api_get_type (void); +#define GST_SURFACE_META_API_TYPE (gst_surface_meta_api_get_type()) + const GstMetaInfo *gst_surface_meta_get_info (void); #define GST_SURFACE_META_INFO (gst_surface_meta_get_info()) #define gst_buffer_get_surface_meta(b) \ - ((GstSurfaceMeta*)gst_buffer_get_meta((b),GST_SURFACE_META_INFO)) + ((GstSurfaceMeta*)gst_buffer_get_meta((b),GST_SURFACE_META_API_TYPE)) #define gst_buffer_add_surface_meta(b) \ ((GstSurfaceMeta*)gst_buffer_add_meta((b),GST_SURFACE_META_INFO,NULL)) |