gst: don't use volatile to mean atomic

volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead.  GCC 11 has started warning about using volatile
with atomic operations.

https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719

Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1073>
This commit is contained in:
Matthew Waters 2021-03-18 19:18:36 +11:00 committed by GStreamer Marge Bot
parent 00a71112c0
commit 98249a57db
45 changed files with 71 additions and 71 deletions

View file

@ -660,7 +660,7 @@ gst_gl_effects_filters_descriptors (void)
gboolean
gst_gl_effects_register_filters (GstPlugin * plugin, GstRank rank)
{
static volatile gsize registered = 0;
static gsize registered = 0;
if (g_once_init_enter (&registered)) {
GTypeInfo info = {

View file

@ -106,7 +106,7 @@ struct _GstGLImageSink
GstBuffer *next_sync;
GstGLSyncMeta *next_sync_meta;
volatile gint to_quit;
gint to_quit;
gboolean keep_aspect_ratio;
gint par_n, par_d;

View file

@ -80,7 +80,7 @@ gst_opus_enc_bandwidth_get_type (void)
{OPUS_AUTO, "Auto", "auto"},
{0, NULL, NULL}
};
static volatile GType id = 0;
static GType id = 0;
if (g_once_init_enter ((gsize *) & id)) {
GType _id;
@ -106,7 +106,7 @@ gst_opus_enc_frame_size_get_type (void)
{60, "60", "60"},
{0, NULL, NULL}
};
static volatile GType id = 0;
static GType id = 0;
if (g_once_init_enter ((gsize *) & id)) {
GType _id;
@ -130,7 +130,7 @@ gst_opus_enc_audio_type_get_type (void)
"restricted-lowdelay"},
{0, NULL, NULL}
};
static volatile GType id = 0;
static GType id = 0;
if (g_once_init_enter ((gsize *) & id)) {
GType _id;
@ -153,7 +153,7 @@ gst_opus_enc_bitrate_type_get_type (void)
{BITRATE_TYPE_CONSTRAINED_VBR, "Constrained VBR", "constrained-vbr"},
{0, NULL, NULL}
};
static volatile GType id = 0;
static GType id = 0;
if (g_once_init_enter ((gsize *) & id)) {
GType _id;
@ -819,7 +819,7 @@ gst_opus_enc_sink_event (GstAudioEncoder * benc, GstEvent * event)
static GstCaps *
gst_opus_enc_get_sink_template_caps (void)
{
static volatile gsize init = 0;
static gsize init = 0;
static GstCaps *caps = NULL;
if (g_once_init_enter (&init)) {

View file

@ -338,7 +338,7 @@ static void gst_audio_decoder_init (GstAudioDecoder * dec,
GType
gst_audio_decoder_get_type (void)
{
static volatile gsize audio_decoder_type = 0;
static gsize audio_decoder_type = 0;
if (g_once_init_enter (&audio_decoder_type)) {
GType _type;

View file

@ -177,7 +177,7 @@ gst_buffer_add_audio_downmix_meta (GstBuffer * buffer,
GType
gst_audio_downmix_meta_api_get_type (void)
{
static volatile GType type;
static GType type;
static const gchar *tags[] =
{ GST_META_TAG_AUDIO_STR, GST_META_TAG_AUDIO_CHANNELS_STR, NULL };
@ -280,7 +280,7 @@ gst_buffer_add_audio_clipping_meta (GstBuffer * buffer,
GType
gst_audio_clipping_meta_api_get_type (void)
{
static volatile GType type;
static GType type;
static const gchar *tags[] =
{ GST_META_TAG_AUDIO_STR, GST_META_TAG_AUDIO_RATE_STR, NULL };
@ -463,7 +463,7 @@ gst_buffer_add_audio_meta (GstBuffer * buffer, const GstAudioInfo * info,
GType
gst_audio_meta_api_get_type (void)
{
static volatile GType type;
static GType type;
static const gchar *tags[] = {
GST_META_TAG_AUDIO_STR, GST_META_TAG_AUDIO_CHANNELS_STR,
GST_META_TAG_AUDIO_RATE_STR, NULL
@ -505,7 +505,7 @@ gst_audio_meta_get_info (void)
GType
gst_audio_level_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
static const gchar *tags[] = { NULL };
if (g_once_init_enter (&type)) {

View file

@ -66,7 +66,7 @@ gst_stream_volume_class_init (GstStreamVolumeInterface * iface)
GType
gst_stream_volume_get_type (void)
{
static volatile gsize type = 0;
static gsize type = 0;
if (g_once_init_enter (&type)) {
GType tmp;
static const GTypeInfo info = {

View file

@ -33,7 +33,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
static void
_init_debug (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT(gst_gl_ca_opengl_layer_debug, "glcaopengllayer",

View file

@ -74,7 +74,7 @@ static guintptr gst_gl_display_egl_get_handle (GstGLDisplay * display);
static void
init_debug (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "gldisplayegl", 0,

View file

@ -398,7 +398,7 @@ gst_gl_display_gbm_shutdown_gbm (GstGLDisplayGBM * display_gbm)
static void
_init_debug (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_GET (gst_gl_display_debug, "gldisplay");

View file

@ -22,11 +22,11 @@ c_array = ['--fhead',
'--fprod',
"\n/* enumerations from \"@basename@\" */",
'--vhead',
"GType\n@enum_name@_get_type (void)\n{\n static volatile gsize g_define_type_id__volatile = 0;\n if (g_once_init_enter (&g_define_type_id__volatile)) {\n static const G@Type@Value values[] = {",
"GType\n@enum_name@_get_type (void)\n{\n static gsize static_g_define_type_id = 0;\n if (g_once_init_enter (&static_g_define_type_id)) {\n static const G@Type@Value values[] = {",
'--vprod',
" { C_@TYPE@ (@VALUENAME@), \"@VALUENAME@\", \"@valuenick@\" },",
'--vtail',
" { 0, NULL, NULL }\n };\n GType g_define_type_id = g_@type@_register_static (\"@EnumName@\", values);\n g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);\n }\n return g_define_type_id__volatile;\n}\n"
" { 0, NULL, NULL }\n };\n GType g_define_type_id = g_@type@_register_static (\"@EnumName@\", values);\n g_once_init_leave (&static_g_define_type_id, g_define_type_id);\n }\n return static_g_define_type_id;\n}\n"
]
cmd = []

View file

@ -503,7 +503,7 @@ _mem_free (GstAllocator * allocator, GstMemory * memory)
void
gst_gl_base_memory_init_once (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (GST_CAT_GL_BASE_MEMORY, "glbasememory", 0,

View file

@ -457,7 +457,7 @@ gst_gl_buffer_allocator_init (GstGLBufferAllocator * allocator)
void
gst_gl_buffer_init_once (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
gst_gl_base_memory_init_once ();

View file

@ -150,7 +150,7 @@ load_self_module (gpointer user_data)
*/
struct ContextShareGroup
{
volatile int refcount;
int refcount;
};
static struct ContextShareGroup *
@ -305,7 +305,7 @@ gst_gl_context_class_init (GstGLContextClass * klass)
static void
_init_debug (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (gst_gl_context_debug, "glcontext", 0,

View file

@ -105,7 +105,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_gl_marker_debug);
static void
_init_debug (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_GET (gst_performance, "GST_PERFORMANCE");

View file

@ -277,7 +277,7 @@ gst_gl_display_new (void)
{
GstGLDisplay *display = NULL;
const gchar *user_choice, *platform_choice;
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (gst_gl_display_debug, "gldisplay", 0,

View file

@ -43,7 +43,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
static void
_init_debug (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "glfeature", 0,

View file

@ -1109,7 +1109,7 @@ gst_gl_memory_get_texture_id (GstGLMemory * gl_mem)
void
gst_gl_memory_init_once (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
gst_gl_base_memory_init_once ();

View file

@ -818,7 +818,7 @@ gst_gl_memory_pbo_upload_transfer (GstGLMemoryPBO * gl_mem)
void
gst_gl_memory_pbo_init_once (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
gst_gl_memory_init_once ();

View file

@ -58,7 +58,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
static void
_init_debug (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "glquery", 0, "glquery element");

View file

@ -312,7 +312,7 @@ gst_gl_renderbuffer_get_id (GstGLRenderbuffer * gl_mem)
void
gst_gl_renderbuffer_init_once (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
gst_gl_base_memory_init_once ();

View file

@ -40,7 +40,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
static void
_init_debug (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "glsl", 0,

View file

@ -333,7 +333,7 @@ static gboolean
_gst_gl_sync_meta_init (GstGLSyncMeta * sync_meta, gpointer params,
GstBuffer * buffer)
{
static volatile gsize _init;
static gsize _init;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (gst_gl_sync_meta_debug, "glsyncmeta", 0,
@ -359,7 +359,7 @@ _gst_gl_sync_meta_init (GstGLSyncMeta * sync_meta, gpointer params,
GType
gst_gl_sync_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
static const gchar *tags[] = { NULL };
if (g_once_init_enter (&type)) {

View file

@ -56,7 +56,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_gl_utils_debug);
static GstDebugCategory *
_init_gl_utils_debug_category (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (gst_gl_utils_debug, "glutils", 0,
@ -87,7 +87,7 @@ static void
_init_context_debug (void)
{
#ifndef GST_DISABLE_GST_DEBUG
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_GET (GST_CAT_CONTEXT, "GST_CONTEXT");

View file

@ -160,7 +160,7 @@ gst_gl_window_default_close (GstGLWindow * window)
static void
_init_debug (void)
{
static volatile gsize _init = 0;
static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (gst_gl_window_debug, "glwindow", 0,

View file

@ -45,7 +45,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
static void
init_debug (void)
{
static volatile gsize _debug;
static gsize _debug;
if (g_once_init_enter (&_debug)) {
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "glwaylandeventsource", 0,

View file

@ -360,9 +360,9 @@ gst_encoding_profile_class_intern_init (gpointer klass)
GType
gst_encoding_profile_get_type (void)
{
static volatile gsize g_define_type_id__volatile = 0;
static gsize g_define_type_id_init = 0;
if (g_once_init_enter (&g_define_type_id__volatile)) {
if (g_once_init_enter (&g_define_type_id_init)) {
GType g_define_type_id = g_type_register_static_simple (G_TYPE_OBJECT,
g_intern_static_string ("GstEncodingProfile"),
sizeof (GstEncodingProfileClass),
@ -385,9 +385,9 @@ gst_encoding_profile_get_type (void)
/* Register gst-specific GValue functions */
gst_value_register (&gstvtable);
g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
g_once_init_leave (&g_define_type_id_init, g_define_type_id);
}
return g_define_type_id__volatile;
return g_define_type_id_init;
}

View file

@ -499,7 +499,7 @@ gst_audio_visualizer_change_shader (GstAudioVisualizer * scope)
GType
gst_audio_visualizer_get_type (void)
{
static volatile gsize audio_visualizer_type = 0;
static gsize audio_visualizer_type = 0;
if (g_once_init_enter (&audio_visualizer_type)) {
static const GTypeInfo audio_visualizer_info = {

View file

@ -190,7 +190,7 @@ gst_rtp_source_meta_append_csrc (GstRTPSourceMeta * meta, const guint32 * csrc,
GType
gst_rtp_source_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
static const gchar *tags[] = { NULL };
if (g_once_init_enter (&type)) {

View file

@ -49,7 +49,7 @@ static guint gst_rtsp_extension_signals[LAST_SIGNAL] = { 0 };
GType
gst_rtsp_extension_get_type (void)
{
static volatile gsize gst_rtsp_extension_type = 0;
static gsize gst_rtsp_extension_type = 0;
static const GTypeInfo gst_rtsp_extension_info = {
sizeof (GstRTSPExtensionInterface),
(GBaseInitFunc) gst_rtsp_extension_iface_init,

View file

@ -90,7 +90,7 @@ static gboolean gst_tag_mux_sink_event (GstPad * pad, GstObject * parent,
GType
gst_tag_mux_get_type (void)
{
static volatile gsize tag_mux_type = 0;
static gsize tag_mux_type = 0;
if (g_once_init_enter (&tag_mux_type)) {
const GInterfaceInfo interface_info = { NULL, NULL, NULL };

View file

@ -53,7 +53,7 @@ typedef struct
GType
gst_tag_xmp_writer_get_type (void)
{
static volatile gsize xmp_config_type = 0;
static gsize xmp_config_type = 0;
if (g_once_init_enter (&xmp_config_type)) {
GType _type;

View file

@ -36,7 +36,7 @@
GType
gst_video_affine_transformation_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
static const gchar *tags[] =
{ GST_META_TAG_VIDEO_STR, GST_META_TAG_VIDEO_ORIENTATION_STR,
GST_META_TAG_VIDEO_ORIENTATION_STR, NULL

View file

@ -802,9 +802,9 @@ static gint video_aggregator_private_offset = 0;
GType
gst_video_aggregator_get_type (void)
{
static volatile gsize g_define_type_id_volatile = 0;
static gsize static_g_define_type_id = 0;
if (g_once_init_enter (&g_define_type_id_volatile)) {
if (g_once_init_enter (&static_g_define_type_id)) {
GType g_define_type_id = g_type_register_static_simple (GST_TYPE_AGGREGATOR,
g_intern_static_string ("GstVideoAggregator"),
sizeof (GstVideoAggregatorClass),
@ -817,9 +817,9 @@ gst_video_aggregator_get_type (void)
g_type_add_instance_private (g_define_type_id,
sizeof (GstVideoAggregatorPrivate));
g_once_init_leave (&g_define_type_id_volatile, g_define_type_id);
g_once_init_leave (&static_g_define_type_id, g_define_type_id);
}
return g_define_type_id_volatile;
return static_g_define_type_id;
}
static inline GstVideoAggregatorPrivate *

View file

@ -516,7 +516,7 @@ static gboolean gst_video_decoder_transform_meta_default (GstVideoDecoder *
GType
gst_video_decoder_get_type (void)
{
static volatile gsize type = 0;
static gsize type = 0;
if (g_once_init_enter (&type)) {
GType _type;

View file

@ -291,7 +291,7 @@ static gboolean gst_video_encoder_transform_meta_default (GstVideoEncoder *
GType
gst_video_encoder_get_type (void)
{
static volatile gsize type = 0;
static gsize type = 0;
if (g_once_init_enter (&type)) {
GType _type;

View file

@ -120,7 +120,7 @@ gst_video_meta_transform (GstBuffer * dest, GstMeta * meta,
GType
gst_video_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
static const gchar *tags[] =
{ GST_META_TAG_VIDEO_STR, GST_META_TAG_MEMORY_STR,
GST_META_TAG_VIDEO_COLORSPACE_STR,
@ -577,7 +577,7 @@ gst_video_crop_meta_transform (GstBuffer * dest, GstMeta * meta,
GType
gst_video_crop_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
static const gchar *tags[] =
{ GST_META_TAG_VIDEO_STR, GST_META_TAG_VIDEO_SIZE_STR,
GST_META_TAG_VIDEO_ORIENTATION_STR, NULL
@ -638,7 +638,7 @@ gst_video_meta_transform_scale_get_quark (void)
GType
gst_video_gl_texture_upload_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
static const gchar *tags[] =
{ GST_META_TAG_VIDEO_STR, GST_META_TAG_MEMORY_STR, NULL };
@ -806,7 +806,7 @@ gst_video_gl_texture_upload_meta_upload (GstVideoGLTextureUploadMeta * meta,
GType
gst_video_region_of_interest_meta_api_get_type (void)
{
static volatile GType type;
static GType type;
static const gchar *tags[] =
{ GST_META_TAG_VIDEO_STR, GST_META_TAG_VIDEO_ORIENTATION_STR,
GST_META_TAG_VIDEO_SIZE_STR, NULL
@ -1064,7 +1064,7 @@ gst_video_region_of_interest_meta_get_param (GstVideoRegionOfInterestMeta *
GType
gst_video_time_code_meta_api_get_type (void)
{
static volatile GType type;
static GType type;
if (g_once_init_enter (&type)) {
static const gchar *tags[] = { NULL };

View file

@ -921,7 +921,7 @@ gst_video_vbi_encoder_write_line (GstVideoVBIEncoder * encoder, guint8 * data)
GType
gst_video_caption_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
if (g_once_init_enter (&type)) {
static const gchar *tags[] = { NULL };
@ -1124,7 +1124,7 @@ gst_video_caption_type_to_caps (GstVideoCaptionType type)
GType
gst_video_afd_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
if (g_once_init_enter (&type)) {
static const gchar *tags[] = {
@ -1263,7 +1263,7 @@ gst_buffer_add_video_afd_meta (GstBuffer * buffer, guint8 field,
GType
gst_video_bar_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
if (g_once_init_enter (&type)) {
static const gchar *tags[] = {

View file

@ -465,7 +465,7 @@ gst_video_content_light_level_add_to_caps (const GstVideoContentLightLevel *
GType
gst_video_hdr_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
if (g_once_init_enter (&type)) {
static const gchar *tags[] = {

View file

@ -28,7 +28,7 @@
GType
gst_video_multiview_flagset_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
if (g_once_init_enter (&type)) {
GType _type = gst_flagset_register (GST_TYPE_VIDEO_MULTIVIEW_FLAGS);
@ -405,7 +405,7 @@ gst_video_multiview_guess_half_aspect (GstVideoMultiviewMode mv_mode,
GType
gst_video_multiview_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
static const gchar *tags[] =
{ GST_META_TAG_VIDEO_STR, GST_META_TAG_MEMORY_STR,
NULL

View file

@ -236,7 +236,7 @@ gst_video_overlay_composition_meta_transform (GstBuffer * dest, GstMeta * meta,
GType
gst_video_overlay_composition_meta_api_get_type (void)
{
static volatile GType type = 0;
static GType type = 0;
static const gchar *tags[] = { NULL };
if (g_once_init_enter (&type)) {

View file

@ -53,8 +53,8 @@ struct _GstAdder {
/* sink event handling */
GstSegment segment;
volatile gboolean new_segment_pending;
volatile gboolean flush_stop_pending;
gboolean new_segment_pending;
gboolean flush_stop_pending;
/* current caps */
GstCaps *current_caps;

View file

@ -208,7 +208,7 @@ gst_encodebin_flags_get_type (void)
"conversion elements", "no-video-conversion"},
{0, NULL, NULL}
};
static volatile GType id = 0;
static GType id = 0;
if (g_once_init_enter ((gsize *) & id)) {
GType _id;

View file

@ -32,7 +32,7 @@ gst_autoplug_select_result_get_type (void)
{C_ENUM (GST_AUTOPLUG_SELECT_SKIP), "GST_AUTOPLUG_SELECT_SKIP", "skip"},
{0, NULL, NULL}
};
static volatile GType id = 0;
static GType id = 0;
if (g_once_init_enter ((gsize *) & id)) {
GType _id;
@ -74,7 +74,7 @@ gst_play_flags_get_type (void)
"force-sw-decoders"},
{0, NULL, NULL}
};
static volatile GType id = 0;
static GType id = 0;
if (g_once_init_enter ((gsize *) & id)) {
GType _id;

View file

@ -70,7 +70,7 @@ struct _GstVideoRate
gboolean drop_only;
guint64 average_period_set;
volatile int max_rate;
int max_rate;
gdouble rate;
gdouble pending_rate;
};

View file

@ -161,7 +161,7 @@ static GstCaps *
gst_video_scale_get_capslist (void)
{
static GstCaps *caps = NULL;
static volatile gsize inited = 0;
static gsize inited = 0;
if (g_once_init_enter (&inited)) {
caps = gst_static_caps_get (&gst_video_scale_format_caps);