ports/contrib (3.6): [notify] gst-plugins-bad: moved brotli and openldap to optional dependencies, cherrypicked two commits from upstream

crux at crux.nu crux at crux.nu
Sun Aug 15 15:18:15 UTC 2021


commit ccfa38f260be92896572da36493cd4d2116d7293
Author: Tim Biermann <tbier at posteo.de>
Date:   Sun Aug 15 16:14:31 2021 +0200

    [notify] gst-plugins-bad: moved brotli and openldap to optional dependencies, cherrypicked two commits from upstream

diff --git a/gst-plugins-bad/.signature b/gst-plugins-bad/.signature
index ff923b018..c40ad9be3 100644
--- a/gst-plugins-bad/.signature
+++ b/gst-plugins-bad/.signature
@@ -1,5 +1,7 @@
 untrusted comment: verify with /etc/ports/contrib.pub
-RWSagIOpLGJF3z19LkBdtN8NKXPTQk+P6hWGZ2dlDk2B1jKIAlL1fy8M+ccOqqlQHSkzf1I28qSYddBp+vdX+RYH9mdcK347OA4=
-SHA256 (Pkgfile) = caf9d46fc09df297a1db980e6965ec1e792dc3bfab6563aa57feb82b780fe54a
+RWSagIOpLGJF3/lch8P3tanZzNHboIiZmYwL5jC4OX0oRD2+EMVUvUJcFslFvFKX7vG/EGmC3Aa2n897VUkBr/p9nasvVvZ0ogc=
+SHA256 (Pkgfile) = 219e21ee7ec7e130f1e94e4da79a194618fc5e317aa536206564454a14a14fa1
 SHA256 (.footprint) = 8983b300aa249c458379e9824a1fd5ac91002cac8e2d57a231fc193e50790edf
 SHA256 (gst-plugins-bad-1.18.4.tar.xz) = 74e806bc5595b18c70e9ca93571e27e79dfb808e5d2e7967afa952b52e99c85f
+SHA256 (68858358544dd3b7e20663f731db22fd74a78a45.patch) = e94417d88f4417eaed47a1d37bfca4a78610d413334c113e4b350bc8e233f7fd
+SHA256 (a9fafd98b74fd184b178604095d35ac6105119b8.patch) = 84e2addc2b5cf4ee6c5c233e5a1234b8e3242292894403514f475dac13107837
diff --git a/gst-plugins-bad/68858358544dd3b7e20663f731db22fd74a78a45.patch b/gst-plugins-bad/68858358544dd3b7e20663f731db22fd74a78a45.patch
new file mode 100644
index 000000000..592805229
--- /dev/null
+++ b/gst-plugins-bad/68858358544dd3b7e20663f731db22fd74a78a45.patch
@@ -0,0 +1,1205 @@
+From 68858358544dd3b7e20663f731db22fd74a78a45 Mon Sep 17 00:00:00 2001
+From: Matthew Waters <matthew at centricular.com>
+Date: Mon, 22 Mar 2021 14:34:36 +1100
+Subject: [PATCH] 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-bad/-/merge_requests/2155>
+---
+ ext/colormanagement/gstlcms.c                     | 4 ++--
+ ext/curl/gstcurlqueue.h                           | 2 +-
+ ext/iqa/iqa.c                                     | 2 +-
+ ext/opencv/gstcvdilateerode.cpp                   | 2 +-
+ ext/openjpeg/gstopenjpegenc.c                     | 2 +-
+ ext/resindvd/rsndec.c                             | 2 +-
+ ext/sctp/sctpassociation.c                        | 2 +-
+ ext/ttml/subtitlemeta.c                           | 2 +-
+ ext/wildmidi/gstwildmididec.c                     | 2 +-
+ gst-libs/gst/adaptivedemux/gstadaptivedemux.c     | 6 +++---
+ gst-libs/gst/audio/gstnonstreamaudiodecoder.c     | 2 +-
+ gst-libs/gst/codecparsers/gstmpegvideometa.c      | 2 +-
+ gst-libs/gst/sctp/sctpreceivemeta.c               | 2 +-
+ gst-libs/gst/sctp/sctpsendmeta.c                  | 2 +-
+ gst-libs/gst/vulkan/android/gstvkwindow_android.c | 2 +-
+ gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m     | 2 +-
+ gst-libs/gst/vulkan/gstvkbuffermemory.c           | 2 +-
+ gst-libs/gst/vulkan/gstvkcommandbuffer.c          | 2 +-
+ gst-libs/gst/vulkan/gstvkdescriptorset.c          | 2 +-
+ gst-libs/gst/vulkan/gstvkdevice.c                 | 2 +-
+ gst-libs/gst/vulkan/gstvkdisplay.c                | 2 +-
+ gst-libs/gst/vulkan/gstvkfence.c                  | 2 +-
+ gst-libs/gst/vulkan/gstvkhandle.c                 | 2 +-
+ gst-libs/gst/vulkan/gstvkimagememory.c            | 2 +-
+ gst-libs/gst/vulkan/gstvkimageview.c              | 2 +-
+ gst-libs/gst/vulkan/gstvkinstance.c               | 2 +-
+ gst-libs/gst/vulkan/gstvkmemory.c                 | 2 +-
+ gst-libs/gst/vulkan/gstvkphysicaldevice.c         | 2 +-
+ gst-libs/gst/vulkan/gstvkqueue.c                  | 2 +-
+ gst-libs/gst/vulkan/gstvktrash.c                  | 2 +-
+ gst-libs/gst/vulkan/gstvkutils.c                  | 2 +-
+ gst-libs/gst/vulkan/gstvkwindow.c                 | 2 +-
+ gst-libs/gst/vulkan/ios/gstvkwindow_ios.m         | 2 +-
+ gst-libs/gst/vulkan/vulkan_mkenum.py              | 4 ++--
+ gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c | 2 +-
+ gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c         | 2 +-
+ gst/camerabin2/gstcamerabin2.c                    | 2 +-
+ gst/debugutils/gstfakevideosink.c                 | 2 +-
+ gst/mxf/mxfmetadata.c                             | 2 +-
+ gst/netsim/gstnetsim.c                            | 8 ++++----
+ gst/rtmp2/rtmp/amf.c                              | 2 +-
+ gst/rtmp2/rtmp/rtmpchunkstream.c                  | 2 +-
+ gst/rtmp2/rtmp/rtmpclient.c                       | 8 ++++----
+ gst/rtmp2/rtmp/rtmphandshake.c                    | 2 +-
+ gst/rtmp2/rtmp/rtmpmessage.c                      | 2 +-
+ gst/segmentclip/gstsegmentclip.c                  | 2 +-
+ sys/androidmedia/gstamcaudiodec.c                 | 2 +-
+ sys/androidmedia/gstamcvideodec.c                 | 2 +-
+ sys/androidmedia/gstamcvideoenc.c                 | 2 +-
+ sys/applemedia/coremediabuffer.c                  | 2 +-
+ sys/applemedia/corevideobuffer.c                  | 2 +-
+ sys/applemedia/corevideomemory.c                  | 2 +-
+ sys/applemedia/iosglmemory.c                      | 2 +-
+ sys/applemedia/iosurfaceglmemory.c                | 2 +-
+ sys/applemedia/iosurfacevulkanmemory.c            | 2 +-
+ sys/bluez/gstavdtpsrc.h                           | 2 +-
+ sys/d3d11/gstd3d11decoder.c                       | 2 +-
+ sys/d3d11/gstd3d11device.c                        | 4 ++--
+ sys/d3d11/gstd3d11shader.c                        | 2 +-
+ sys/d3d11/gstd3d11utils.c                         | 2 +-
+ sys/d3d11/gstd3d11videoprocessor.c                | 4 ++--
+ sys/d3d11/gstd3d11window.cpp                      | 2 +-
+ sys/d3d11/gstd3d11window_win32.cpp                | 2 +-
+ sys/ipcpipeline/gstipcpipelinecomm.c              | 2 +-
+ sys/msdk/gstmsdkcontextutil.c                     | 2 +-
+ sys/nvcodec/gstcudacontext.c                      | 2 +-
+ sys/nvcodec/gstcudautils.c                        | 4 ++--
+ sys/nvcodec/gstnvbaseenc.h                        | 2 +-
+ sys/opensles/openslescommon.c                     | 4 ++--
+ sys/va/gstvaallocator.c                           | 6 +++---
+ sys/va/gstvautils.c                               | 2 +-
+ sys/wasapi/gstwasapiutil.c                        | 2 +-
+ sys/wasapi2/gstwasapi2client.cpp                  | 2 +-
+ sys/winscreencap/dxgicapture.c                    | 2 +-
+ tests/check/libs/vkimage.c                        | 4 ++--
+ 75 files changed, 92 insertions(+), 92 deletions(-)
+
+diff --git a/ext/colormanagement/gstlcms.c b/ext/colormanagement/gstlcms.c
+index ebcc4438b8..84f694bf09 100644
+--- a/ext/colormanagement/gstlcms.c
++++ b/ext/colormanagement/gstlcms.c
+@@ -67,7 +67,7 @@ enum
+ GType
+ gst_lcms_intent_get_type (void)
+ {
+-  static volatile gsize intent_type = 0;
++  static gsize intent_type = 0;
+   static const GEnumValue intent[] = {
+     {GST_LCMS_INTENT_PERCEPTUAL, "Perceptual",
+         "perceptual"},
+@@ -90,7 +90,7 @@ gst_lcms_intent_get_type (void)
+ static GType
+ gst_lcms_lookup_method_get_type (void)
+ {
+-  static volatile gsize lookup_method_type = 0;
++  static gsize lookup_method_type = 0;
+   static const GEnumValue lookup_method[] = {
+     {GST_LCMS_LOOKUP_METHOD_UNCACHED,
+           "Uncached, calculate every pixel on the fly (very slow playback)",
+diff --git a/ext/curl/gstcurlqueue.h b/ext/curl/gstcurlqueue.h
+index e43359a585..eea1d9610b 100644
+--- a/ext/curl/gstcurlqueue.h
++++ b/ext/curl/gstcurlqueue.h
+@@ -51,7 +51,7 @@
+ struct _GstCurlHttpSrcQueueElement
+ {
+   GstCurlHttpSrc *p;
+-  volatile gint running;
++  gint running;
+   GstCurlHttpSrcQueueElement *next;
+ };
+ 
+diff --git a/ext/iqa/iqa.c b/ext/iqa/iqa.c
+index c27bcd9f51..7cc45b88c5 100644
+--- a/ext/iqa/iqa.c
++++ b/ext/iqa/iqa.c
+@@ -159,7 +159,7 @@ gst_iqa_mode_flags_get_type (void)
+     {GST_IQA_MODE_STRICT, "Strict comparison of frames.", "strict"},
+     {0, NULL, NULL}
+   };
+-  static volatile GType id = 0;
++  static GType id = 0;
+ 
+   if (g_once_init_enter ((gsize *) & id)) {
+     GType _id;
+diff --git a/ext/opencv/gstcvdilateerode.cpp b/ext/opencv/gstcvdilateerode.cpp
+index 77a7ec4599..ad4d2ad887 100644
+--- a/ext/opencv/gstcvdilateerode.cpp
++++ b/ext/opencv/gstcvdilateerode.cpp
+@@ -87,7 +87,7 @@ static void gst_cv_dilate_erode_get_property (GObject * object, guint prop_id,
+ GType
+ gst_cv_dilate_erode_get_type (void)
+ {
+-  static volatile gsize opencv_dilate_erode_type = 0;
++  static gsize opencv_dilate_erode_type = 0;
+ 
+   if (g_once_init_enter (&opencv_dilate_erode_type)) {
+     GType _type;
+diff --git a/ext/openjpeg/gstopenjpegenc.c b/ext/openjpeg/gstopenjpegenc.c
+index 307d753d09..df12ea1b2e 100644
+--- a/ext/openjpeg/gstopenjpegenc.c
++++ b/ext/openjpeg/gstopenjpegenc.c
+@@ -44,7 +44,7 @@ gst_openjpeg_enc_progression_order_get_type (void)
+     {OPJ_CPRL, "CPRL", "crpl"},
+     {0, NULL, NULL}
+   };
+-  static volatile GType id = 0;
++  static GType id = 0;
+ 
+   if (g_once_init_enter ((gsize *) & id)) {
+     GType _id;
+diff --git a/ext/resindvd/rsndec.c b/ext/resindvd/rsndec.c
+index 4f4b2680f5..bb747757fe 100644
+--- a/ext/resindvd/rsndec.c
++++ b/ext/resindvd/rsndec.c
+@@ -346,7 +346,7 @@ rsn_dec_change_state (GstElement * element, GstStateChange transition)
+ GType
+ rsn_dec_get_type (void)
+ {
+-  static volatile gsize type = 0;
++  static gsize type = 0;
+ 
+   if (g_once_init_enter (&type)) {
+     GType _type;
+diff --git a/ext/sctp/sctpassociation.c b/ext/sctp/sctpassociation.c
+index dd98eb1766..fbf5b4afef 100644
+--- a/ext/sctp/sctpassociation.c
++++ b/ext/sctp/sctpassociation.c
+@@ -56,7 +56,7 @@ gst_sctp_association_state_get_type (void)
+     {GST_SCTP_ASSOCIATION_STATE_ERROR, "state-error", "state-error"},
+     {0, NULL, NULL}
+   };
+-  static volatile GType id = 0;
++  static GType id = 0;
+ 
+   if (g_once_init_enter ((gsize *) & id)) {
+     GType _id;
+diff --git a/ext/ttml/subtitlemeta.c b/ext/ttml/subtitlemeta.c
+index cdbfcce243..3ce569f6e8 100644
+--- a/ext/ttml/subtitlemeta.c
++++ b/ext/ttml/subtitlemeta.c
+@@ -32,7 +32,7 @@
+ GType
+ gst_subtitle_meta_api_get_type (void)
+ {
+-  static volatile GType type;
++  static GType type;
+   static const gchar *tags[] = { "memory", NULL };
+ 
+   if (g_once_init_enter (&type)) {
+diff --git a/ext/wildmidi/gstwildmididec.c b/ext/wildmidi/gstwildmididec.c
+index d628c0fe6c..b90488bd22 100644
+--- a/ext/wildmidi/gstwildmididec.c
++++ b/ext/wildmidi/gstwildmididec.c
+@@ -151,7 +151,7 @@ static void gst_wildmidi_dec_update_options (GstWildmidiDec * wildmidi_dec);
+ 
+ static GMutex load_mutex;
+ static unsigned long init_refcount = 0;
+-static volatile gint wildmidi_initialized = 0;
++static gint wildmidi_initialized = 0;
+ 
+ 
+ static gchar *
+diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
+index e32444eaa7..a495ec2e7a 100644
+--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
++++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
+@@ -211,7 +211,7 @@ struct _GstAdaptiveDemuxPrivate
+ 
+ typedef struct _GstAdaptiveDemuxTimer
+ {
+-  volatile gint ref_count;
++  gint ref_count;
+   GCond *cond;
+   GMutex *mutex;
+   GstClockID clock_id;
+@@ -312,7 +312,7 @@ gst_adaptive_demux_requires_periodical_playlist_update_default (GstAdaptiveDemux
+ GType
+ gst_adaptive_demux_get_type (void)
+ {
+-  static volatile gsize type = 0;
++  static gsize type = 0;
+ 
+   if (g_once_init_enter (&type)) {
+     GType _type;
+@@ -4577,7 +4577,7 @@ gst_adaptive_demux_timer_new (GCond * cond, GMutex * mutex)
+   timer->fired = FALSE;
+   timer->cond = cond;
+   timer->mutex = mutex;
+-  timer->ref_count = 1;
++  g_atomic_int_set (&timer->ref_count, 1);
+   return timer;
+ }
+ 
+diff --git a/gst-libs/gst/audio/gstnonstreamaudiodecoder.c b/gst-libs/gst/audio/gstnonstreamaudiodecoder.c
+index ca8afce6aa..f98ddb014d 100644
+--- a/gst-libs/gst/audio/gstnonstreamaudiodecoder.c
++++ b/gst-libs/gst/audio/gstnonstreamaudiodecoder.c
+@@ -339,7 +339,7 @@ gst_nonstream_audio_decoder_subsong_mode_get_type (void)
+ GType
+ gst_nonstream_audio_decoder_get_type (void)
+ {
+-  static volatile gsize nonstream_audio_decoder_type = 0;
++  static gsize nonstream_audio_decoder_type = 0;
+ 
+   if (g_once_init_enter (&nonstream_audio_decoder_type)) {
+     GType type_;
+diff --git a/gst-libs/gst/codecparsers/gstmpegvideometa.c b/gst-libs/gst/codecparsers/gstmpegvideometa.c
+index 4b9a71bacb..bce5c67d69 100644
+--- a/gst-libs/gst/codecparsers/gstmpegvideometa.c
++++ b/gst-libs/gst/codecparsers/gstmpegvideometa.c
+@@ -96,7 +96,7 @@ gst_mpeg_video_meta_transform (GstBuffer * dest, GstMeta * meta,
+ GType
+ gst_mpeg_video_meta_api_get_type (void)
+ {
+-  static volatile GType type;
++  static GType type;
+   static const gchar *tags[] = { "memory", NULL };      /* don't know what to set here */
+ 
+   if (g_once_init_enter (&type)) {
+diff --git a/gst-libs/gst/sctp/sctpreceivemeta.c b/gst-libs/gst/sctp/sctpreceivemeta.c
+index e1c77d4660..11def65238 100644
+--- a/gst-libs/gst/sctp/sctpreceivemeta.c
++++ b/gst-libs/gst/sctp/sctpreceivemeta.c
+@@ -37,7 +37,7 @@ GType
+ gst_sctp_receive_meta_api_get_type (void)
+ {
+   static const gchar *tags[] = { NULL };
+-  static volatile GType type;
++  static GType type;
+   if (g_once_init_enter (&type)) {
+     GType _type = gst_meta_api_type_register ("GstSctpReceiveMetaAPI", tags);
+     g_once_init_leave (&type, _type);
+diff --git a/gst-libs/gst/sctp/sctpsendmeta.c b/gst-libs/gst/sctp/sctpsendmeta.c
+index d8ce14fc93..e29cd7d927 100644
+--- a/gst-libs/gst/sctp/sctpsendmeta.c
++++ b/gst-libs/gst/sctp/sctpsendmeta.c
+@@ -37,7 +37,7 @@ GType
+ gst_sctp_send_meta_api_get_type (void)
+ {
+   static const gchar *tags[] = { NULL };
+-  static volatile GType type;
++  static GType type;
+   if (g_once_init_enter (&type)) {
+     GType _type = gst_meta_api_type_register ("GstSctpSendMetaAPI", tags);
+     g_once_init_leave (&type, _type);
+diff --git a/gst-libs/gst/vulkan/android/gstvkwindow_android.c b/gst-libs/gst/vulkan/android/gstvkwindow_android.c
+index c1bd866acd..a745d54cea 100644
+--- a/gst-libs/gst/vulkan/android/gstvkwindow_android.c
++++ b/gst-libs/gst/vulkan/android/gstvkwindow_android.c
+@@ -37,7 +37,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, "vulkanwindowandroid", 0,
+diff --git a/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m b/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m
+index f007262671..fd8e22742e 100644
+--- a/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m
++++ b/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m
+@@ -42,7 +42,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, "vulkanwindowmacos", 0,
+diff --git a/gst-libs/gst/vulkan/gstvkbuffermemory.c b/gst-libs/gst/vulkan/gstvkbuffermemory.c
+index 967ef9d27d..515aff0d0c 100644
+--- a/gst-libs/gst/vulkan/gstvkbuffermemory.c
++++ b/gst-libs/gst/vulkan/gstvkbuffermemory.c
+@@ -363,7 +363,7 @@ gst_vulkan_buffer_memory_allocator_init (GstVulkanBufferMemoryAllocator *
+ void
+ gst_vulkan_buffer_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_VULKAN_BUFFER_MEMORY, "vulkanbuffermemory",
+diff --git a/gst-libs/gst/vulkan/gstvkcommandbuffer.c b/gst-libs/gst/vulkan/gstvkcommandbuffer.c
+index 2719ba3e37..7b0d310da0 100644
+--- a/gst-libs/gst/vulkan/gstvkcommandbuffer.c
++++ b/gst-libs/gst/vulkan/gstvkcommandbuffer.c
+@@ -41,7 +41,7 @@ GST_DEBUG_CATEGORY (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, "vulkancommandbuffer", 0,
+diff --git a/gst-libs/gst/vulkan/gstvkdescriptorset.c b/gst-libs/gst/vulkan/gstvkdescriptorset.c
+index ad2280d20e..1718382d80 100644
+--- a/gst-libs/gst/vulkan/gstvkdescriptorset.c
++++ b/gst-libs/gst/vulkan/gstvkdescriptorset.c
+@@ -44,7 +44,7 @@ GST_DEBUG_CATEGORY (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, "vulkandescriptorset", 0,
+diff --git a/gst-libs/gst/vulkan/gstvkdevice.c b/gst-libs/gst/vulkan/gstvkdevice.c
+index e5f57d10ca..639406de0f 100644
+--- a/gst-libs/gst/vulkan/gstvkdevice.c
++++ b/gst-libs/gst/vulkan/gstvkdevice.c
+@@ -67,7 +67,7 @@ struct _GstVulkanDevicePrivate
+ static void
+ _init_debug (void)
+ {
+-  static volatile gsize init;
++  static gsize init;
+ 
+   if (g_once_init_enter (&init)) {
+     GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "vulkandevice", 0,
+diff --git a/gst-libs/gst/vulkan/gstvkdisplay.c b/gst-libs/gst/vulkan/gstvkdisplay.c
+index 345234985f..fc87417b66 100644
+--- a/gst-libs/gst/vulkan/gstvkdisplay.c
++++ b/gst-libs/gst/vulkan/gstvkdisplay.c
+@@ -59,7 +59,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, "vulkandisplay", 0,
+diff --git a/gst-libs/gst/vulkan/gstvkfence.c b/gst-libs/gst/vulkan/gstvkfence.c
+index cdfcefe0ac..9e03a24b50 100644
+--- a/gst-libs/gst/vulkan/gstvkfence.c
++++ b/gst-libs/gst/vulkan/gstvkfence.c
+@@ -42,7 +42,7 @@ GST_DEBUG_CATEGORY (gst_debug_vulkan_fence);
+ static void
+ _init_debug (void)
+ {
+-  static volatile gsize init;
++  static gsize init;
+ 
+   if (g_once_init_enter (&init)) {
+     GST_DEBUG_CATEGORY_INIT (gst_debug_vulkan_fence,
+diff --git a/gst-libs/gst/vulkan/gstvkhandle.c b/gst-libs/gst/vulkan/gstvkhandle.c
+index 454f845465..8219030d42 100644
+--- a/gst-libs/gst/vulkan/gstvkhandle.c
++++ b/gst-libs/gst/vulkan/gstvkhandle.c
+@@ -40,7 +40,7 @@ GST_DEBUG_CATEGORY (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, "vulkanhandle", 0,
+diff --git a/gst-libs/gst/vulkan/gstvkimagememory.c b/gst-libs/gst/vulkan/gstvkimagememory.c
+index 8a0328433c..7a242496ef 100644
+--- a/gst-libs/gst/vulkan/gstvkimagememory.c
++++ b/gst-libs/gst/vulkan/gstvkimagememory.c
+@@ -705,7 +705,7 @@ gst_vulkan_image_memory_allocator_init (GstVulkanImageMemoryAllocator *
+ void
+ gst_vulkan_image_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_VULKAN_IMAGE_MEMORY, "vulkanimagememory",
+diff --git a/gst-libs/gst/vulkan/gstvkimageview.c b/gst-libs/gst/vulkan/gstvkimageview.c
+index 655a77865d..c8f86bad9e 100644
+--- a/gst-libs/gst/vulkan/gstvkimageview.c
++++ b/gst-libs/gst/vulkan/gstvkimageview.c
+@@ -40,7 +40,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFUALT);
+ 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_VULKAN_IMAGE_VIEW, "vulkanimageview",
+diff --git a/gst-libs/gst/vulkan/gstvkinstance.c b/gst-libs/gst/vulkan/gstvkinstance.c
+index 0dbf26f9cd..14db32922e 100644
+--- a/gst-libs/gst/vulkan/gstvkinstance.c
++++ b/gst-libs/gst/vulkan/gstvkinstance.c
+@@ -96,7 +96,7 @@ struct _GstVulkanInstancePrivate
+ 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, "vulkaninstance", 0,
+diff --git a/gst-libs/gst/vulkan/gstvkmemory.c b/gst-libs/gst/vulkan/gstvkmemory.c
+index f70333258f..40ed31e8ff 100644
+--- a/gst-libs/gst/vulkan/gstvkmemory.c
++++ b/gst-libs/gst/vulkan/gstvkmemory.c
+@@ -309,7 +309,7 @@ gst_vulkan_memory_allocator_init (GstVulkanMemoryAllocator * allocator)
+ void
+ gst_vulkan_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_VULKAN_MEMORY, "vulkanmemory", 0,
+diff --git a/gst-libs/gst/vulkan/gstvkphysicaldevice.c b/gst-libs/gst/vulkan/gstvkphysicaldevice.c
+index cf9be303bb..33f9f20553 100644
+--- a/gst-libs/gst/vulkan/gstvkphysicaldevice.c
++++ b/gst-libs/gst/vulkan/gstvkphysicaldevice.c
+@@ -71,7 +71,7 @@ struct _GstVulkanPhysicalDevicePrivate
+ static void
+ _init_debug (void)
+ {
+-  static volatile gsize init;
++  static gsize init;
+ 
+   if (g_once_init_enter (&init)) {
+     GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "vulkandevice", 0,
+diff --git a/gst-libs/gst/vulkan/gstvkqueue.c b/gst-libs/gst/vulkan/gstvkqueue.c
+index 0763b83d6e..025b9b235b 100644
+--- a/gst-libs/gst/vulkan/gstvkqueue.c
++++ b/gst-libs/gst/vulkan/gstvkqueue.c
+@@ -40,7 +40,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_CONTEXT);
+ static void
+ _init_debug (void)
+ {
+-  static volatile gsize init;
++  static gsize init;
+ 
+   if (g_once_init_enter (&init)) {
+     GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "vulkanqueue", 0, "Vulkan Queue");
+diff --git a/gst-libs/gst/vulkan/gstvktrash.c b/gst-libs/gst/vulkan/gstvktrash.c
+index 56c12bafe7..a5c38ccaa4 100644
+--- a/gst-libs/gst/vulkan/gstvktrash.c
++++ b/gst-libs/gst/vulkan/gstvktrash.c
+@@ -44,7 +44,7 @@ GST_DEBUG_CATEGORY (gst_debug_vulkan_trash);
+ static void
+ _init_debug (void)
+ {
+-  static volatile gsize init;
++  static gsize init;
+ 
+   if (g_once_init_enter (&init)) {
+     GST_DEBUG_CATEGORY_INIT (gst_debug_vulkan_trash,
+diff --git a/gst-libs/gst/vulkan/gstvkutils.c b/gst-libs/gst/vulkan/gstvkutils.c
+index 15af242d6c..446a3e4429 100644
+--- a/gst-libs/gst/vulkan/gstvkutils.c
++++ b/gst-libs/gst/vulkan/gstvkutils.c
+@@ -37,7 +37,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");
+diff --git a/gst-libs/gst/vulkan/gstvkwindow.c b/gst-libs/gst/vulkan/gstvkwindow.c
+index bcccfe5146..ed5a784c9f 100644
+--- a/gst-libs/gst/vulkan/gstvkwindow.c
++++ b/gst-libs/gst/vulkan/gstvkwindow.c
+@@ -138,7 +138,7 @@ gst_vulkan_window_default_close (GstVulkanWindow * 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_CAT_DEFAULT, "vulkanwindow", 0,
+diff --git a/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m b/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m
+index 84fc33deb3..db23e77ae1 100644
+--- a/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m
++++ b/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m
+@@ -41,7 +41,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, "vulkanwindowios", 0,
+diff --git a/gst-libs/gst/vulkan/vulkan_mkenum.py b/gst-libs/gst/vulkan/vulkan_mkenum.py
+index 0d1ecfe097..59a6bbc3eb 100644
+--- a/gst-libs/gst/vulkan/vulkan_mkenum.py
++++ b/gst-libs/gst/vulkan/vulkan_mkenum.py
+@@ -22,11 +22,11 @@ c_array = ['--fhead',
+            '--fprod',
+            "\n/* enumerations from \"@basename@\" */",
+            '--vhead',
+-           "GType\n at 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 at Type@Value values[] = {",
++           "GType\n at 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 at Type@Value values[] = {",
+            '--vprod',
+            "      { C_ at TYPE@ (@VALUENAME@), \"@VALUENAME@\", \"@valuenick@\" },",
+            '--vtail',
+-           "      { 0, NULL, NULL }\n    };\n    GType g_define_type_id = g_ at 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_ at 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 = []
+diff --git a/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c b/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c
+index eda063de92..5d3f5c48df 100644
+--- a/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c
++++ b/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c
+@@ -37,7 +37,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, "vulkanwindowxcb", 0,
+diff --git a/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c b/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c
+index b0f1ab4d0f..285943b12e 100644
+--- a/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c
++++ b/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c
+@@ -39,7 +39,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, "vulkanwindowxcb", 0,
+diff --git a/gst/camerabin2/gstcamerabin2.c b/gst/camerabin2/gstcamerabin2.c
+index 584e3e3167..502ed736da 100644
+--- a/gst/camerabin2/gstcamerabin2.c
++++ b/gst/camerabin2/gstcamerabin2.c
+@@ -263,7 +263,7 @@ gst_cam_flags_get_type (void)
+           "elements", "no-image-conversion"},
+     {0, NULL, NULL}
+   };
+-  static volatile GType id = 0;
++  static GType id = 0;
+ 
+   if (g_once_init_enter ((gsize *) & id)) {
+     GType _id;
+diff --git a/gst/debugutils/gstfakevideosink.c b/gst/debugutils/gstfakevideosink.c
+index 3ebc9a360b..ddb2ae1a0e 100644
+--- a/gst/debugutils/gstfakevideosink.c
++++ b/gst/debugutils/gstfakevideosink.c
+@@ -54,7 +54,7 @@ gst_fake_video_sink_allocation_meta_flags_get_type (void)
+         "overlay-composition"},
+     {0, NULL, NULL}
+   };
+-  static volatile GType id = 0;
++  static GType id = 0;
+ 
+   if (g_once_init_enter ((gsize *) & id)) {
+     GType _id;
+diff --git a/gst/mxf/mxfmetadata.c b/gst/mxf/mxfmetadata.c
+index 2860b68479..c8d34060d0 100644
+--- a/gst/mxf/mxfmetadata.c
++++ b/gst/mxf/mxfmetadata.c
+@@ -6581,7 +6581,7 @@ mxf_descriptive_metadata_new (guint8 scheme, guint32 type,
+ GType
+ mxf_descriptive_metadata_framework_get_type (void)
+ {
+-  static volatile gsize type = 0;
++  static gsize type = 0;
+   if (g_once_init_enter (&type)) {
+     GType _type = 0;
+     static const GTypeInfo info = {
+diff --git a/gst/netsim/gstnetsim.c b/gst/netsim/gstnetsim.c
+index e0771b83e0..692b3893d2 100644
+--- a/gst/netsim/gstnetsim.c
++++ b/gst/netsim/gstnetsim.c
+@@ -38,8 +38,8 @@ GST_DEBUG_CATEGORY (netsim_debug);
+ static GType
+ distribution_get_type (void)
+ {
+-  static volatile gsize g_define_type_id__volatile = 0;
+-  if (g_once_init_enter (&g_define_type_id__volatile)) {
++  static gsize static_g_define_type_id = 0;
++  if (g_once_init_enter (&static_g_define_type_id)) {
+     static const GEnumValue values[] = {
+       {DISTRIBUTION_UNIFORM, "uniform", "uniform"},
+       {DISTRIBUTION_NORMAL, "normal", "normal"},
+@@ -48,9 +48,9 @@ distribution_get_type (void)
+     };
+     GType g_define_type_id =
+         g_enum_register_static ("GstNetSimDistribution", values);
+-    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;
+ }
+ 
+ enum
+diff --git a/gst/rtmp2/rtmp/amf.c b/gst/rtmp2/rtmp/amf.c
+index 69c3768037..f103b91c57 100644
+--- a/gst/rtmp2/rtmp/amf.c
++++ b/gst/rtmp2/rtmp/amf.c
+@@ -38,7 +38,7 @@ static GBytes *empty_bytes;
+ static void
+ init_static (void)
+ {
+-  static volatile gsize done = 0;
++  static gsize done = 0;
+   if (g_once_init_enter (&done)) {
+     empty_bytes = g_bytes_new_static ("", 0);
+     GST_DEBUG_CATEGORY_INIT (gst_rtmp_amf_debug_category, "rtmpamf", 0,
+diff --git a/gst/rtmp2/rtmp/rtmpchunkstream.c b/gst/rtmp2/rtmp/rtmpchunkstream.c
+index 1cdd68b26d..d3471e76b1 100644
+--- a/gst/rtmp2/rtmp/rtmpchunkstream.c
++++ b/gst/rtmp2/rtmp/rtmpchunkstream.c
+@@ -31,7 +31,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_rtmp_chunk_stream_debug_category);
+ static void
+ init_debug (void)
+ {
+-  static volatile gsize done = 0;
++  static gsize done = 0;
+   if (g_once_init_enter (&done)) {
+     GST_DEBUG_CATEGORY_INIT (gst_rtmp_chunk_stream_debug_category,
+         "rtmpchunkstream", 0, "debug category for rtmp chunk streams");
+diff --git a/gst/rtmp2/rtmp/rtmpclient.c b/gst/rtmp2/rtmp/rtmpclient.c
+index d2746ef74e..5a4ffcc812 100644
+--- a/gst/rtmp2/rtmp/rtmpclient.c
++++ b/gst/rtmp2/rtmp/rtmpclient.c
+@@ -44,7 +44,7 @@ static void on_publish_or_play_status (const gchar * command_name,
+ static void
+ init_debug (void)
+ {
+-  static volatile gsize done = 0;
++  static gsize done = 0;
+   if (g_once_init_enter (&done)) {
+     GST_DEBUG_CATEGORY_INIT (gst_rtmp_client_debug_category,
+         "rtmpclient", 0, "debug category for the rtmp client");
+@@ -66,7 +66,7 @@ static const gchar *scheme_strings[] = {
+ GType
+ gst_rtmp_scheme_get_type (void)
+ {
+-  static volatile gsize scheme_type = 0;
++  static gsize scheme_type = 0;
+   static const GEnumValue scheme[] = {
+     {GST_RTMP_SCHEME_RTMP, "GST_RTMP_SCHEME_RTMP", "rtmp"},
+     {GST_RTMP_SCHEME_RTMPS, "GST_RTMP_SCHEME_RTMPS", "rtmps"},
+@@ -142,7 +142,7 @@ gst_rtmp_scheme_get_default_port (GstRtmpScheme scheme)
+ GType
+ gst_rtmp_authmod_get_type (void)
+ {
+-  static volatile gsize authmod_type = 0;
++  static gsize authmod_type = 0;
+   static const GEnumValue authmod[] = {
+     {GST_RTMP_AUTHMOD_NONE, "GST_RTMP_AUTHMOD_NONE", "none"},
+     {GST_RTMP_AUTHMOD_AUTO, "GST_RTMP_AUTHMOD_AUTO", "auto"},
+@@ -169,7 +169,7 @@ gst_rtmp_authmod_get_nick (GstRtmpAuthmod value)
+ GType
+ gst_rtmp_stop_commands_get_type (void)
+ {
+-  static volatile gsize stop_commands_type = 0;
++  static gsize stop_commands_type = 0;
+   static const GFlagsValue stop_commands[] = {
+     {GST_RTMP_STOP_COMMANDS_NONE, "No command", "none"},
+     {GST_RTMP_STOP_COMMANDS_FCUNPUBLISH, "FCUnpublish", "fcunpublish"},
+diff --git a/gst/rtmp2/rtmp/rtmphandshake.c b/gst/rtmp2/rtmp/rtmphandshake.c
+index 0d821c3d8e..10d0b36981 100644
+--- a/gst/rtmp2/rtmp/rtmphandshake.c
++++ b/gst/rtmp2/rtmp/rtmphandshake.c
+@@ -34,7 +34,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_rtmp_handshake_debug_category);
+ static void
+ init_debug (void)
+ {
+-  static volatile gsize done = 0;
++  static gsize done = 0;
+   if (g_once_init_enter (&done)) {
+     GST_DEBUG_CATEGORY_INIT (gst_rtmp_handshake_debug_category, "rtmphandshake",
+         0, "debug category for the rtmp connection handshake");
+diff --git a/gst/rtmp2/rtmp/rtmpmessage.c b/gst/rtmp2/rtmp/rtmpmessage.c
+index c117d54d84..f59c09a7da 100644
+--- a/gst/rtmp2/rtmp/rtmpmessage.c
++++ b/gst/rtmp2/rtmp/rtmpmessage.c
+@@ -146,7 +146,7 @@ gst_rtmp_user_control_type_get_nick (GstRtmpUserControlType type)
+ GType
+ gst_rtmp_meta_api_get_type (void)
+ {
+-  static volatile GType type = 0;
++  static GType type = 0;
+   static const gchar *tags[] = {
+     NULL
+   };
+diff --git a/gst/segmentclip/gstsegmentclip.c b/gst/segmentclip/gstsegmentclip.c
+index 6d002b24f8..167bac4bff 100644
+--- a/gst/segmentclip/gstsegmentclip.c
++++ b/gst/segmentclip/gstsegmentclip.c
+@@ -56,7 +56,7 @@ static GstElementClass *parent_class;
+ GType
+ gst_segment_clip_get_type (void)
+ {
+-  static volatile gsize segment_clip_type = 0;
++  static gsize segment_clip_type = 0;
+ 
+   if (g_once_init_enter (&segment_clip_type)) {
+     GType _type;
+diff --git a/sys/androidmedia/gstamcaudiodec.c b/sys/androidmedia/gstamcaudiodec.c
+index 63253e09fd..2c43441307 100644
+--- a/sys/androidmedia/gstamcaudiodec.c
++++ b/sys/androidmedia/gstamcaudiodec.c
+@@ -90,7 +90,7 @@ static GstAudioDecoderClass *parent_class = NULL;
+ GType
+ gst_amc_audio_dec_get_type (void)
+ {
+-  static volatile gsize type = 0;
++  static gsize type = 0;
+ 
+   if (g_once_init_enter (&type)) {
+     GType _type;
+diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c
+index 79c2f20f86..79670bd6df 100644
+--- a/sys/androidmedia/gstamcvideodec.c
++++ b/sys/androidmedia/gstamcvideodec.c
+@@ -263,7 +263,7 @@ static GstVideoDecoderClass *parent_class = NULL;
+ GType
+ gst_amc_video_dec_get_type (void)
+ {
+-  static volatile gsize type = 0;
++  static gsize type = 0;
+ 
+   if (g_once_init_enter (&type)) {
+     GType _type;
+diff --git a/sys/androidmedia/gstamcvideoenc.c b/sys/androidmedia/gstamcvideoenc.c
+index 8725520c98..591ca35de0 100644
+--- a/sys/androidmedia/gstamcvideoenc.c
++++ b/sys/androidmedia/gstamcvideoenc.c
+@@ -114,7 +114,7 @@ static GstVideoEncoderClass *parent_class = NULL;
+ GType
+ gst_amc_video_enc_get_type (void)
+ {
+-  static volatile gsize type = 0;
++  static gsize type = 0;
+ 
+   if (g_once_init_enter (&type)) {
+     GType _type;
+diff --git a/sys/applemedia/coremediabuffer.c b/sys/applemedia/coremediabuffer.c
+index 8f573be39d..70877d77f5 100644
+--- a/sys/applemedia/coremediabuffer.c
++++ b/sys/applemedia/coremediabuffer.c
+@@ -93,7 +93,7 @@ gst_core_media_meta_transform (GstBuffer * transbuf, GstCoreMediaMeta * meta,
+ GType
+ gst_core_media_meta_api_get_type (void)
+ {
+-  static volatile GType type;
++  static GType type;
+   static const gchar *tags[] = { "memory", NULL };
+ 
+   if (g_once_init_enter (&type)) {
+diff --git a/sys/applemedia/corevideobuffer.c b/sys/applemedia/corevideobuffer.c
+index 63d737c135..f41685c04f 100644
+--- a/sys/applemedia/corevideobuffer.c
++++ b/sys/applemedia/corevideobuffer.c
+@@ -80,7 +80,7 @@ gst_core_video_meta_transform (GstBuffer * transbuf, GstCoreVideoMeta * meta,
+ GType
+ gst_core_video_meta_api_get_type (void)
+ {
+-  static volatile GType type;
++  static GType type;
+   static const gchar *tags[] = { "memory", NULL };
+ 
+   if (g_once_init_enter (&type)) {
+diff --git a/sys/applemedia/corevideomemory.c b/sys/applemedia/corevideomemory.c
+index 5e832d474a..f072d339c9 100644
+--- a/sys/applemedia/corevideomemory.c
++++ b/sys/applemedia/corevideomemory.c
+@@ -261,7 +261,7 @@ static GstAppleCoreVideoAllocator *_apple_core_video_allocator;
+ void
+ gst_apple_core_video_memory_init (void)
+ {
+-  static volatile gsize _init = 0;
++  static gsize _init = 0;
+ 
+   if (g_once_init_enter (&_init)) {
+     GST_DEBUG_CATEGORY_INIT (GST_CAT_APPLE_CORE_VIDEO_MEMORY, "corevideomemory",
+diff --git a/sys/applemedia/iosglmemory.c b/sys/applemedia/iosglmemory.c
+index f677efa4c3..7272f1b1f8 100644
+--- a/sys/applemedia/iosglmemory.c
++++ b/sys/applemedia/iosglmemory.c
+@@ -105,7 +105,7 @@ gst_ios_gl_memory_allocator_init (GstIOSGLMemoryAllocator * allocator)
+ void
+ gst_ios_gl_memory_init (void)
+ {
+-  static volatile gsize _init = 0;
++  static gsize _init = 0;
+ 
+   if (g_once_init_enter (&_init)) {
+     GST_DEBUG_CATEGORY_INIT (GST_CAT_IOS_GL_MEMORY, "iosurface", 0,
+diff --git a/sys/applemedia/iosurfaceglmemory.c b/sys/applemedia/iosurfaceglmemory.c
+index 56e5bad031..d37e6e223e 100644
+--- a/sys/applemedia/iosurfaceglmemory.c
++++ b/sys/applemedia/iosurfaceglmemory.c
+@@ -141,7 +141,7 @@ gst_io_surface_gl_memory_allocator_init (GstIOSurfaceGLMemoryAllocator *
+ void
+ gst_ios_surface_gl_memory_init (void)
+ {
+-  static volatile gsize _init = 0;
++  static gsize _init = 0;
+ 
+   if (g_once_init_enter (&_init)) {
+     GST_DEBUG_CATEGORY_INIT (GST_CAT_IO_SURFACE_GL_MEMORY, "iosurfacegl", 0,
+diff --git a/sys/applemedia/iosurfacevulkanmemory.c b/sys/applemedia/iosurfacevulkanmemory.c
+index b237cfb55d..2bf2e5da76 100644
+--- a/sys/applemedia/iosurfacevulkanmemory.c
++++ b/sys/applemedia/iosurfacevulkanmemory.c
+@@ -114,7 +114,7 @@ gst_io_surface_vulkan_memory_allocator_init (GstIOSurfaceVulkanMemoryAllocator *
+ void
+ gst_io_surface_vulkan_memory_init (void)
+ {
+-  static volatile gsize _init = 0;
++  static gsize _init = 0;
+ 
+   if (g_once_init_enter (&_init)) {
+     GST_DEBUG_CATEGORY_INIT (GST_CAT_IO_SURFACE_VULKAN_MEMORY,
+diff --git a/sys/bluez/gstavdtpsrc.h b/sys/bluez/gstavdtpsrc.h
+index 34a2697f20..57e26493fa 100644
+--- a/sys/bluez/gstavdtpsrc.h
++++ b/sys/bluez/gstavdtpsrc.h
+@@ -59,7 +59,7 @@ struct _GstAvdtpSrc
+ 
+   GstPoll *poll;
+   GstPollFD pfd;
+-  volatile gint unlocked;
++  gint unlocked;
+ 
+   GstClockTime duration;
+ 
+diff --git a/sys/d3d11/gstd3d11decoder.c b/sys/d3d11/gstd3d11decoder.c
+index f88f3447b2..bc8c1f3a7e 100644
+--- a/sys/d3d11/gstd3d11decoder.c
++++ b/sys/d3d11/gstd3d11decoder.c
+@@ -109,7 +109,7 @@ struct _GstD3D11DecoderPrivate
+ static GQuark
+ _decoder_output_view_get (void)
+ {
+-  static volatile gsize g_quark = 0;
++  static gsize g_quark = 0;
+ 
+   if (g_once_init_enter (&g_quark)) {
+     gsize quark =
+diff --git a/sys/d3d11/gstd3d11device.c b/sys/d3d11/gstd3d11device.c
+index 0641e5a500..f91ebe5b70 100644
+--- a/sys/d3d11/gstd3d11device.c
++++ b/sys/d3d11/gstd3d11device.c
+@@ -111,7 +111,7 @@ static void gst_d3d11_device_finalize (GObject * object);
+ static gboolean
+ gst_d3d11_device_enable_d3d11_debug (void)
+ {
+-  static volatile gsize _init = 0;
++  static gsize _init = 0;
+ 
+   /* If all below libraries are unavailable, d3d11 device would fail with
+    * D3D11_CREATE_DEVICE_DEBUG flag */
+@@ -199,7 +199,7 @@ gst_d3d11_device_d3d11_debug (GstD3D11Device * device,
+ static gboolean
+ gst_d3d11_device_enable_dxgi_debug (void)
+ {
+-  static volatile gsize _init = 0;
++  static gsize _init = 0;
+   gboolean ret = FALSE;
+ 
+   /* If all below libraries are unavailable, d3d11 device would fail with
+diff --git a/sys/d3d11/gstd3d11shader.c b/sys/d3d11/gstd3d11shader.c
+index cbd3c69e40..835b7ccad7 100644
+--- a/sys/d3d11/gstd3d11shader.c
++++ b/sys/d3d11/gstd3d11shader.c
+@@ -35,7 +35,7 @@ static pD3DCompile GstD3DCompileFunc = NULL;
+ gboolean
+ gst_d3d11_shader_init (void)
+ {
+-  static volatile gsize _init = 0;
++  static gsize _init = 0;
+ 
+   if (g_once_init_enter (&_init)) {
+ #if GST_D3D11_WINAPI_ONLY_APP
+diff --git a/sys/d3d11/gstd3d11utils.c b/sys/d3d11/gstd3d11utils.c
+index 1d4d30d539..4cb0ae6299 100644
+--- a/sys/d3d11/gstd3d11utils.c
++++ b/sys/d3d11/gstd3d11utils.c
+@@ -34,7 +34,7 @@ GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_utils_debug);
+ static void
+ _init_context_debug (void)
+ {
+-  static volatile gsize _init = 0;
++  static gsize _init = 0;
+ 
+   if (g_once_init_enter (&_init)) {
+     GST_DEBUG_CATEGORY_GET (GST_CAT_CONTEXT, "GST_CONTEXT");
+diff --git a/sys/d3d11/gstd3d11videoprocessor.c b/sys/d3d11/gstd3d11videoprocessor.c
+index 94e601dfe5..781592218b 100644
+--- a/sys/d3d11/gstd3d11videoprocessor.c
++++ b/sys/d3d11/gstd3d11videoprocessor.c
+@@ -43,7 +43,7 @@ GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_video_processor_debug);
+ GQuark
+ gst_d3d11_video_processor_input_view_quark (void)
+ {
+-  static volatile gsize quark = 0;
++  static gsize quark = 0;
+ 
+   if (g_once_init_enter (&quark)) {
+     GQuark q = g_quark_from_static_string ("GstD3D11VideoProcessorInputView");
+@@ -56,7 +56,7 @@ gst_d3d11_video_processor_input_view_quark (void)
+ GQuark
+ gst_d3d11_video_processor_output_view_quark (void)
+ {
+-  static volatile gsize quark = 0;
++  static gsize quark = 0;
+ 
+   if (g_once_init_enter (&quark)) {
+     GQuark q = g_quark_from_static_string ("GstD3D11VideoProcessorOutputView");
+diff --git a/sys/d3d11/gstd3d11window.cpp b/sys/d3d11/gstd3d11window.cpp
+index ab98419466..6f827e3c7d 100644
+--- a/sys/d3d11/gstd3d11window.cpp
++++ b/sys/d3d11/gstd3d11window.cpp
+@@ -73,7 +73,7 @@ static guint d3d11_window_signals[SIGNAL_LAST] = { 0, };
+ GType
+ gst_d3d11_window_fullscreen_toggle_mode_type (void)
+ {
+-  static volatile gsize mode_type = 0;
++  static gsize mode_type = 0;
+ 
+   if (g_once_init_enter (&mode_type)) {
+     static const GFlagsValue mode_types[] = {
+diff --git a/sys/d3d11/gstd3d11window_win32.cpp b/sys/d3d11/gstd3d11window_win32.cpp
+index 012ce6a0b8..de564d9519 100644
+--- a/sys/d3d11/gstd3d11window_win32.cpp
++++ b/sys/d3d11/gstd3d11window_win32.cpp
+@@ -80,7 +80,7 @@ struct _GstD3D11WindowWin32
+   gboolean have_swapchain1;
+ 
+   /* atomic */
+-  volatile gint pending_fullscreen_count;
++  gint pending_fullscreen_count;
+ 
+   /* fullscreen related */
+   RECT restore_rect;
+diff --git a/sys/ipcpipeline/gstipcpipelinecomm.c b/sys/ipcpipeline/gstipcpipelinecomm.c
+index 9176f49624..3dde66004b 100644
+--- a/sys/ipcpipeline/gstipcpipelinecomm.c
++++ b/sys/ipcpipeline/gstipcpipelinecomm.c
+@@ -2318,7 +2318,7 @@ G_STMT_START {                                                          \
+ void
+ gst_ipc_pipeline_comm_plugin_init (void)
+ {
+-  static volatile gsize once = 0;
++  static gsize once = 0;
+ 
+   if (g_once_init_enter (&once)) {
+     GST_DEBUG_CATEGORY_INIT (gst_ipc_pipeline_comm_debug, "ipcpipelinecomm", 0,
+diff --git a/sys/msdk/gstmsdkcontextutil.c b/sys/msdk/gstmsdkcontextutil.c
+index 6f5c7e41d7..0cd24eb4ba 100644
+--- a/sys/msdk/gstmsdkcontextutil.c
++++ b/sys/msdk/gstmsdkcontextutil.c
+@@ -38,7 +38,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");
+diff --git a/sys/nvcodec/gstcudacontext.c b/sys/nvcodec/gstcudacontext.c
+index b6406f6873..35b03cf399 100644
+--- a/sys/nvcodec/gstcudacontext.c
++++ b/sys/nvcodec/gstcudacontext.c
+@@ -121,7 +121,7 @@ gst_cuda_context_get_property (GObject * object, guint prop_id,
+ static void
+ gst_cuda_context_constructed (GObject * object)
+ {
+-  static volatile gsize once = 0;
++  static gsize once = 0;
+   GstCudaContext *context = GST_CUDA_CONTEXT (object);
+   GstCudaContextPrivate *priv = context->priv;
+   CUcontext cuda_ctx, old_ctx;
+diff --git a/sys/nvcodec/gstcudautils.c b/sys/nvcodec/gstcudautils.c
+index 052590209c..6d33bc484e 100644
+--- a/sys/nvcodec/gstcudautils.c
++++ b/sys/nvcodec/gstcudautils.c
+@@ -36,7 +36,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_CONTEXT);
+ static void
+ _init_debug (void)
+ {
+-  static volatile gsize once_init = 0;
++  static gsize once_init = 0;
+ 
+   if (g_once_init_enter (&once_init)) {
+ 
+@@ -354,7 +354,7 @@ static GQuark gst_cuda_quark_table[GST_CUDA_QUARK_MAX];
+ static void
+ init_cuda_quark_once (void)
+ {
+-  static volatile gsize once_init = 0;
++  static gsize once_init = 0;
+ 
+   if (g_once_init_enter (&once_init)) {
+     gint i;
+diff --git a/sys/nvcodec/gstnvbaseenc.h b/sys/nvcodec/gstnvbaseenc.h
+index e9b2fe15e0..069cd28ebc 100644
+--- a/sys/nvcodec/gstnvbaseenc.h
++++ b/sys/nvcodec/gstnvbaseenc.h
+@@ -111,7 +111,7 @@ typedef struct {
+   GValue        * input_formats;                  /* OBJECT LOCK */
+ 
+   GstVideoCodecState *input_state;
+-  volatile gint       reconfig;                   /* ATOMIC */
++  gint                reconfig;                   /* ATOMIC */
+   gboolean            gl_input;
+ 
+   /* array of allocated input/output buffers (GstNvEncFrameState),
+diff --git a/sys/opensles/openslescommon.c b/sys/opensles/openslescommon.c
+index 7dc4bb81f8..72cfc9d5da 100644
+--- a/sys/opensles/openslescommon.c
++++ b/sys/opensles/openslescommon.c
+@@ -42,7 +42,7 @@ gst_opensles_recording_preset_get_type (void)
+         "voice-communication"},
+     {0, NULL, NULL}
+   };
+-  static volatile GType id = 0;
++  static GType id = 0;
+ 
+   if (g_once_init_enter ((gsize *) & id)) {
+     GType _id;
+@@ -100,7 +100,7 @@ gst_opensles_stream_type_get_type (void)
+         "GST_OPENSLES_STREAM_TYPE_NONE", "none"},
+     {0, NULL, NULL}
+   };
+-  static volatile GType id = 0;
++  static GType id = 0;
+ 
+   if (g_once_init_enter ((gsize *) & id)) {
+     GType _id;
+diff --git a/sys/va/gstvaallocator.c b/sys/va/gstvaallocator.c
+index cd42ffb53a..f003b1fba8 100644
+--- a/sys/va/gstvaallocator.c
++++ b/sys/va/gstvaallocator.c
+@@ -56,14 +56,14 @@ struct _GstVaBufferSurface
+ {
+   GstVideoInfo info;
+   VASurfaceID surface;
+-  volatile gint ref_count;
++  gint ref_count;
+ };
+ 
+ static void
+ _init_debug_category (void)
+ {
+ #ifndef GST_DISABLE_GST_DEBUG
+-  static volatile gsize _init = 0;
++  static gsize _init = 0;
+ 
+   if (g_once_init_enter (&_init)) {
+     GST_DEBUG_CATEGORY_INIT (gst_va_memory_debug, "vamemory", 0, "VA memory");
+@@ -573,7 +573,7 @@ struct _GstVaMemory
+   gpointer mapped_data;
+ 
+   GstMapFlags prev_mapflags;
+-  volatile gint map_count;
++  gint map_count;
+ 
+   gboolean is_derived;
+   gboolean is_dirty;
+diff --git a/sys/va/gstvautils.c b/sys/va/gstvautils.c
+index 95bfaee44b..ad2ad22fc8 100644
+--- a/sys/va/gstvautils.c
++++ b/sys/va/gstvautils.c
+@@ -32,7 +32,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");
+diff --git a/sys/wasapi/gstwasapiutil.c b/sys/wasapi/gstwasapiutil.c
+index 61076df842..5d7ff38c4c 100644
+--- a/sys/wasapi/gstwasapiutil.c
++++ b/sys/wasapi/gstwasapiutil.c
+@@ -144,7 +144,7 @@ gst_wasapi_device_role_get_type (void)
+     {GST_WASAPI_DEVICE_ROLE_COMMS, "Voice communications", "comms"},
+     {0, NULL, NULL}
+   };
+-  static volatile GType id = 0;
++  static GType id = 0;
+ 
+   if (g_once_init_enter ((gsize *) & id)) {
+     GType _id;
+diff --git a/sys/wasapi2/gstwasapi2client.cpp b/sys/wasapi2/gstwasapi2client.cpp
+index 390bedf2c7..666b929697 100644
+--- a/sys/wasapi2/gstwasapi2client.cpp
++++ b/sys/wasapi2/gstwasapi2client.cpp
+@@ -277,7 +277,7 @@ struct _GstWasapi2Client
+ GType
+ gst_wasapi2_client_device_class_get_type (void)
+ {
+-  static volatile GType class_type = 0;
++  static GType class_type = 0;
+   static const GEnumValue types[] = {
+     {GST_WASAPI2_CLIENT_DEVICE_CLASS_CAPTURE, "Capture", "capture"},
+     {GST_WASAPI2_CLIENT_DEVICE_CLASS_RENDER, "Render", "render"},
+diff --git a/sys/winscreencap/dxgicapture.c b/sys/winscreencap/dxgicapture.c
+index 07c30dc702..4b17e5e897 100644
+--- a/sys/winscreencap/dxgicapture.c
++++ b/sys/winscreencap/dxgicapture.c
+@@ -166,7 +166,7 @@ static pD3DCompile GstD3DCompileFunc = NULL;
+ gboolean
+ gst_dxgicap_shader_init (void)
+ {
+-  static volatile gsize _init = 0;
++  static gsize _init = 0;
+   static const gchar *d3d_compiler_names[] = {
+     "d3dcompiler_47.dll",
+     "d3dcompiler_46.dll",
+diff --git a/tests/check/libs/vkimage.c b/tests/check/libs/vkimage.c
+index 09999b739c..6ef279b099 100644
+--- a/tests/check/libs/vkimage.c
++++ b/tests/check/libs/vkimage.c
+@@ -149,7 +149,7 @@ struct view_stress
+   GMutex lock;
+   GCond cond;
+   gboolean ready;
+-  volatile int n_ops;
++  int n_ops;
+   GQueue *memories;
+   GstHarnessThread *threads[N_THREADS];
+ };
+@@ -189,7 +189,7 @@ GST_START_TEST (test_image_view_stress)
+   g_mutex_init (&stress.lock);
+   g_cond_init (&stress.cond);
+   stress.ready = FALSE;
+-  stress.n_ops = 0;
++  g_atomic_int_set (&stress.n_ops, 0);
+   stress.memories = g_queue_new ();
+ 
+   gst_video_info_set_format (&v_info, GST_VIDEO_FORMAT_RGBA, 16, 16);
+-- 
+GitLab
+
diff --git a/gst-plugins-bad/Pkgfile b/gst-plugins-bad/Pkgfile
index da771247e..f207d7a2a 100644
--- a/gst-plugins-bad/Pkgfile
+++ b/gst-plugins-bad/Pkgfile
@@ -1,15 +1,19 @@
 # Description: A set of plugins for gstreamer that may pose distribution problems.
 # URL: https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html
 # Maintainer: Danny Rawlins, crux at romster dot me
-# Depends on: brotli chromaprint e2fsprogs faac faad2 gst-plugins-base ladspa lame libass libdca libdvdnav libmms libmodplug libmpcdec librsvg libsndfile libsrtp libusb libva libvpx libwebp mjpegtools neon openal openjpeg openldap rtmpdump x264 x265
-# Optional: krb5
+# Depends on: chromaprint e2fsprogs faac faad2 gst-plugins-base ladspa lame libass libdca libdvdnav libmms libmodplug libmpcdec librsvg libsndfile libsrtp libusb libva libvpx libwebp mjpegtools neon openal openjpeg rtmpdump x264 x265
+# Optional: brotli krb5 openldap
 
 name=gst-plugins-bad
 version=1.18.4
 release=1
-source=(https://gstreamer.freedesktop.org/src/$name/$name-$version.tar.xz)
+source=(https://gstreamer.freedesktop.org/src/$name/$name-$version.tar.xz
+	68858358544dd3b7e20663f731db22fd74a78a45.patch
+	a9fafd98b74fd184b178604095d35ac6105119b8.patch)
 
 build() {
+	patch -Np1 -d $name-$version -i $SRC/68858358544dd3b7e20663f731db22fd74a78a45.patch
+	patch -Np1 -d $name-$version -i $SRC/a9fafd98b74fd184b178604095d35ac6105119b8.patch
 	cd $name-$version
 
 	meson build \
diff --git a/gst-plugins-bad/a9fafd98b74fd184b178604095d35ac6105119b8.patch b/gst-plugins-bad/a9fafd98b74fd184b178604095d35ac6105119b8.patch
new file mode 100644
index 000000000..7ea607c27
--- /dev/null
+++ b/gst-plugins-bad/a9fafd98b74fd184b178604095d35ac6105119b8.patch
@@ -0,0 +1,27 @@
+From a9fafd98b74fd184b178604095d35ac6105119b8 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas at archlinux.org>
+Date: Sat, 24 Apr 2021 10:43:47 +0000
+Subject: [PATCH] Fix build with OpenEXR 3
+
+Add a header that is no longer transitively included
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2216>
+---
+ ext/openexr/gstopenexrdec.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ext/openexr/gstopenexrdec.cpp b/ext/openexr/gstopenexrdec.cpp
+index a83c35de9b..b85203e423 100644
+--- a/ext/openexr/gstopenexrdec.cpp
++++ b/ext/openexr/gstopenexrdec.cpp
+@@ -29,6 +29,7 @@
+ 
+ #include <ImfRgbaFile.h>
+ #include <ImfIO.h>
++#include <ImfInt64.h>
+ using namespace Imf;
+ using namespace Imath;
+ 
+-- 
+GitLab
+


More information about the CRUX mailing list