summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2012-02-29 17:26:28 +0100
committerWim Taymans <wim.taymans@collabora.co.uk>2012-02-29 17:26:28 +0100
commitea4a0d1c2de926dd9e08faa386653cc962d77e34 (patch)
tree7ad26c7e78f1f6f9c409823f0714c819825f49f2
parent1fb46f00ae05a42c8f067908829136b0220ed4b7 (diff)
downloadgstreamer-plugins-bad-ea4a0d1c2de926dd9e08faa386653cc962d77e34.tar.gz
update for metadata API changes
-rw-r--r--gst-libs/gst/video/gstbasevideodecoder.c2
-rw-r--r--gst-libs/gst/video/gstsurfacemeta.c17
-rw-r--r--gst-libs/gst/video/gstsurfacemeta.h5
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))