Commit 083ae2b8 authored by Matthew Waters's avatar Matthew Waters 🐨
Browse files

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 gst-plugins-good#868

Part-of: <!234>
parent edf58d30
Pipeline #286906 passed with stages
in 62 minutes and 23 seconds
......@@ -124,7 +124,7 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink_%u",
typedef struct _PadInfos
{
volatile gint refcount;
gint refcount;
GESSmartMixer *self;
GstPad *mixer_pad;
......@@ -149,7 +149,7 @@ static PadInfos *
pad_infos_new (void)
{
PadInfos *info = g_new0 (PadInfos, 1);
info->refcount = 1;
g_atomic_int_set (&info->refcount, 1);
return info;
}
......
......@@ -624,7 +624,7 @@ gst_frame_positioner_get_property (GObject * object, guint property_id,
GType
gst_frame_positioner_meta_api_get_type (void)
{
static volatile GType type;
static GType type;
static const gchar *tags[] = { "video", NULL };
if (g_once_init_enter (&type)) {
......
......@@ -195,7 +195,7 @@ struct _NleCompositionPrivate
gint seqnum_to_restart_task;
gboolean waiting_serialized_query_or_buffer;
GstEvent *stack_initialization_seek;
volatile gboolean stack_initialization_seek_sent;
gboolean stack_initialization_seek_sent;
gboolean tearing_down_stack;
gboolean suppress_child_error;
......
......@@ -835,7 +835,7 @@ nle_object_reset (NleObject * object)
GType
nle_object_get_type (void)
{
static volatile gsize type = 0;
static gsize type = 0;
if (g_once_init_enter (&type)) {
GType _type;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment