From: Michael Smith Date: Wed, 3 Oct 2012 17:44:59 +0000 (-0700) Subject: meta registration: use g_once functions to register these threadsafely. X-Git-Tag: 1.19.3~511^2~5869 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=a29c4f94897ba94c2bd573107f4265a974dcc29d;p=platform%2Fupstream%2Fgstreamer.git meta registration: use g_once functions to register these threadsafely. --- diff --git a/gst-libs/gst/audio/gstaudiometa.c b/gst-libs/gst/audio/gstaudiometa.c index f26e0d4..5d6ccf0 100644 --- a/gst-libs/gst/audio/gstaudiometa.c +++ b/gst-libs/gst/audio/gstaudiometa.c @@ -171,12 +171,13 @@ gst_audio_downmix_meta_get_info (void) { static const GstMetaInfo *audio_downmix_meta_info = NULL; - if (audio_downmix_meta_info == NULL) { - audio_downmix_meta_info = + if (g_once_init_enter (&audio_downmix_meta_info)) { + const GstMetaInfo *meta = gst_meta_register (GST_AUDIO_DOWNMIX_META_API_TYPE, "GstAudioDownmixMeta", sizeof (GstAudioDownmixMeta), gst_audio_downmix_meta_init, gst_audio_downmix_meta_free, gst_audio_downmix_meta_transform); + g_once_init_leave (&audio_downmix_meta_info, meta); } return audio_downmix_meta_info; } diff --git a/gst-libs/gst/video/gstvideometa.c b/gst-libs/gst/video/gstvideometa.c index 2e51619..e7af9b0 100644 --- a/gst-libs/gst/video/gstvideometa.c +++ b/gst-libs/gst/video/gstvideometa.c @@ -76,11 +76,12 @@ gst_video_meta_get_info (void) { static const GstMetaInfo *video_meta_info = NULL; - if (video_meta_info == NULL) { - video_meta_info = + if (g_once_init_enter (&video_meta_info)) { + const GstMetaInfo *meta = gst_meta_register (GST_VIDEO_META_API_TYPE, "GstVideoMeta", sizeof (GstVideoMeta), (GstMetaInitFunction) NULL, (GstMetaFreeFunction) NULL, gst_video_meta_transform); + g_once_init_leave (&video_meta_info, meta); } return video_meta_info; } @@ -349,11 +350,12 @@ gst_video_crop_meta_get_info (void) { static const GstMetaInfo *video_crop_meta_info = NULL; - if (video_crop_meta_info == NULL) { - video_crop_meta_info = + if (g_once_init_enter (&video_crop_meta_info)) { + const GstMetaInfo *meta = gst_meta_register (GST_VIDEO_CROP_META_API_TYPE, "GstVideoCropMeta", sizeof (GstVideoCropMeta), (GstMetaInitFunction) NULL, (GstMetaFreeFunction) NULL, gst_video_crop_meta_transform); + g_once_init_leave (&video_crop_meta_info, meta); } return video_crop_meta_info; } diff --git a/gst-libs/gst/video/video-overlay-composition.c b/gst-libs/gst/video/video-overlay-composition.c index 97db3e8..9c3e239 100644 --- a/gst-libs/gst/video/video-overlay-composition.c +++ b/gst-libs/gst/video/video-overlay-composition.c @@ -241,14 +241,15 @@ gst_video_overlay_composition_meta_get_info (void) { static const GstMetaInfo *video_overlay_composition_meta_info = NULL; - if (video_overlay_composition_meta_info == NULL) { - video_overlay_composition_meta_info = + if (g_once_init_enter (&video_overlay_composition_meta_info)) { + const GstMetaInfo *meta = gst_meta_register (GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, "GstVideoOverlayCompositionMeta", sizeof (GstVideoOverlayCompositionMeta), (GstMetaInitFunction) NULL, (GstMetaFreeFunction) gst_video_overlay_composition_meta_free, (GstMetaTransformFunction) gst_video_overlay_composition_meta_transform); + g_once_init_leave (&video_overlay_composition_meta_info, meta); } return video_overlay_composition_meta_info; } diff --git a/sys/ximage/ximagepool.c b/sys/ximage/ximagepool.c index 23424e0..02faf01 100644 --- a/sys/ximage/ximagepool.c +++ b/sys/ximage/ximagepool.c @@ -68,12 +68,13 @@ gst_ximage_meta_get_info (void) { static const GstMetaInfo *ximage_meta_info = NULL; - if (ximage_meta_info == NULL) { - ximage_meta_info = + if (g_once_init_enter (&ximage_meta_info)) { + const GstMetaInfo *meta = gst_meta_register (GST_XIMAGE_META_API_TYPE, "GstXImageMeta", sizeof (GstXImageMeta), (GstMetaInitFunction) NULL, (GstMetaFreeFunction) gst_ximage_meta_free, (GstMetaTransformFunction) NULL); + g_once_init_leave (&ximage_meta_info, meta); } return ximage_meta_info; } diff --git a/sys/xvimage/xvimagepool.c b/sys/xvimage/xvimagepool.c index a9e5576..54b2485 100644 --- a/sys/xvimage/xvimagepool.c +++ b/sys/xvimage/xvimagepool.c @@ -71,12 +71,13 @@ gst_xvimage_meta_get_info (void) { static const GstMetaInfo *xvimage_meta_info = NULL; - if (xvimage_meta_info == NULL) { - xvimage_meta_info = + if (g_once_init_enter (&xvimage_meta_info)) { + const GstMetaInfo *meta = gst_meta_register (GST_XVIMAGE_META_API_TYPE, "GstXvImageMeta", sizeof (GstXvImageMeta), (GstMetaInitFunction) NULL, (GstMetaFreeFunction) gst_xvimage_meta_free, (GstMetaTransformFunction) NULL); + g_once_init_leave (&xvimage_meta_info, meta); } return xvimage_meta_info; }