mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-30 11:08:34 +00:00
Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly to avoid the deprecation warnings. We'll change these over to the new API once we depend on glib >= 2.32.
This commit is contained in:
parent
e94186241b
commit
66f6e12888
28 changed files with 170 additions and 4 deletions
|
@ -38,6 +38,7 @@ DISTCLEANFILES = _stdint.h
|
|||
noinst_HEADERS = \
|
||||
gst-libs/gst/gettext.h \
|
||||
gst-libs/gst/gst-i18n-plugin.h
|
||||
gst-libs/gst/glib-compat-private.h
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4 -I common/m4
|
||||
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
|
||||
#include "gstjackaudioclient.h"
|
||||
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (gst_jack_audio_client_debug);
|
||||
#define GST_CAT_DEFAULT gst_jack_audio_client_debug
|
||||
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
|
||||
#include <gst/pbutils/pbutils.h>
|
||||
#include <gst/gst-i18n-plugin.h>
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
#include <gst/audio/gstaudioiec61937.h>
|
||||
#include "pulsesink.h"
|
||||
|
|
|
@ -58,6 +58,8 @@
|
|||
|
||||
#include <gst/pbutils/pbutils.h> /* only used for GST_PLUGINS_BASE_VERSION_* */
|
||||
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
#include "pulsesink.h"
|
||||
#include "pulseutil.h"
|
||||
|
||||
|
|
|
@ -42,6 +42,8 @@
|
|||
#include <gst/base/gstbasesink.h>
|
||||
#include "gstsouphttpclientsink.h"
|
||||
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (souphttpclientsink_dbg);
|
||||
#define GST_CAT_DEFAULT souphttpclientsink_dbg
|
||||
|
||||
|
|
120
gst-libs/gst/glib-compat-private.h
Normal file
120
gst-libs/gst/glib-compat-private.h
Normal file
|
@ -0,0 +1,120 @@
|
|||
/*
|
||||
* glib-compat.c
|
||||
* Functions copied from glib 2.10
|
||||
*
|
||||
* Copyright 2005 David Schleef <ds@schleef.org>
|
||||
*/
|
||||
|
||||
#ifndef __GLIB_COMPAT_PRIVATE_H__
|
||||
#define __GLIB_COMPAT_PRIVATE_H__
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#if !GLIB_CHECK_VERSION(2,25,0)
|
||||
|
||||
#if defined (_MSC_VER) && !defined(_WIN64)
|
||||
typedef struct _stat32 GStatBuf;
|
||||
#else
|
||||
typedef struct stat GStatBuf;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if GLIB_CHECK_VERSION(2,26,0)
|
||||
#define GLIB_HAS_GDATETIME
|
||||
#endif
|
||||
|
||||
/* See bug #651514 */
|
||||
#if GLIB_CHECK_VERSION(2,29,5)
|
||||
#define G_ATOMIC_POINTER_COMPARE_AND_EXCHANGE(a,b,c) \
|
||||
g_atomic_pointer_compare_and_exchange ((a),(b),(c))
|
||||
#define G_ATOMIC_INT_COMPARE_AND_EXCHANGE(a,b,c) \
|
||||
g_atomic_int_compare_and_exchange ((a),(b),(c))
|
||||
#else
|
||||
#define G_ATOMIC_POINTER_COMPARE_AND_EXCHANGE(a,b,c) \
|
||||
g_atomic_pointer_compare_and_exchange ((volatile gpointer *)(a),(b),(c))
|
||||
#define G_ATOMIC_INT_COMPARE_AND_EXCHANGE(a,b,c) \
|
||||
g_atomic_int_compare_and_exchange ((volatile int *)(a),(b),(c))
|
||||
#endif
|
||||
|
||||
/* See bug #651514 */
|
||||
#if GLIB_CHECK_VERSION(2,29,5)
|
||||
#define G_ATOMIC_INT_ADD(a,b) g_atomic_int_add ((a),(b))
|
||||
#else
|
||||
#define G_ATOMIC_INT_ADD(a,b) g_atomic_int_exchange_and_add ((a),(b))
|
||||
#endif
|
||||
|
||||
/* copies */
|
||||
|
||||
#if GLIB_CHECK_VERSION (2, 31, 0)
|
||||
#define g_mutex_new gst_g_mutex_new
|
||||
static inline GMutex *
|
||||
gst_g_mutex_new (void)
|
||||
{
|
||||
GMutex *mutex = g_slice_new (GMutex);
|
||||
g_mutex_init (mutex);
|
||||
return mutex;
|
||||
}
|
||||
#define g_mutex_free gst_g_mutex_free
|
||||
static inline void
|
||||
gst_g_mutex_free (GMutex *mutex)
|
||||
{
|
||||
g_mutex_clear (mutex);
|
||||
g_slice_free (GMutex, mutex);
|
||||
}
|
||||
#define g_static_rec_mutex_init gst_g_static_rec_mutex_init
|
||||
static inline void
|
||||
gst_g_static_rec_mutex_init (GStaticRecMutex *mutex)
|
||||
{
|
||||
static const GStaticRecMutex init_mutex = G_STATIC_REC_MUTEX_INIT;
|
||||
|
||||
*mutex = init_mutex;
|
||||
}
|
||||
#define g_cond_new gst_g_cond_new
|
||||
static inline GCond *
|
||||
gst_g_cond_new (void)
|
||||
{
|
||||
GCond *cond = g_slice_new (GCond);
|
||||
g_cond_init (cond);
|
||||
return cond;
|
||||
}
|
||||
#define g_cond_free gst_g_cond_free
|
||||
static inline void
|
||||
gst_g_cond_free (GCond *cond)
|
||||
{
|
||||
g_cond_clear (cond);
|
||||
g_slice_free (GCond, cond);
|
||||
}
|
||||
#define g_cond_timed_wait gst_g_cond_timed_wait
|
||||
static inline gboolean
|
||||
gst_g_cond_timed_wait (GCond *cond, GMutex *mutex, GTimeVal *abs_time)
|
||||
{
|
||||
gint64 end_time;
|
||||
|
||||
if (abs_time == NULL) {
|
||||
g_cond_wait (cond, mutex);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
end_time = abs_time->tv_sec;
|
||||
end_time *= 1000000;
|
||||
end_time += abs_time->tv_usec;
|
||||
|
||||
/* would be nice if we had clock_rtoffset, but that didn't seem to
|
||||
* make it into the kernel yet...
|
||||
*/
|
||||
/* if CLOCK_MONOTONIC is not defined then g_get_montonic_time() and
|
||||
* g_get_real_time() are returning the same clock and we'd add ~0
|
||||
*/
|
||||
end_time += g_get_monotonic_time () - g_get_real_time ();
|
||||
return g_cond_wait_until (cond, mutex, end_time);
|
||||
}
|
||||
#endif /* GLIB_CHECK_VERSION (2, 31, 0) */
|
||||
|
||||
/* adaptations */
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
|
@ -82,6 +82,8 @@
|
|||
|
||||
#include "audiochebband.h"
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
#define GST_CAT_DEFAULT gst_audio_cheb_band_debug
|
||||
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
|
||||
|
||||
|
|
|
@ -78,6 +78,8 @@
|
|||
|
||||
#include "audiocheblimit.h"
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
#define GST_CAT_DEFAULT gst_audio_cheb_limit_debug
|
||||
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
|
||||
|
||||
|
|
|
@ -57,6 +57,8 @@
|
|||
|
||||
#include "audiofirfilter.h"
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
#define GST_CAT_DEFAULT gst_audio_fir_filter_debug
|
||||
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
|
||||
|
||||
|
|
|
@ -53,6 +53,8 @@
|
|||
|
||||
#include "audioiirfilter.h"
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
#define GST_CAT_DEFAULT gst_audio_iir_filter_debug
|
||||
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
|
||||
|
||||
|
|
|
@ -64,6 +64,8 @@
|
|||
|
||||
#include "audiowsincband.h"
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
#define GST_CAT_DEFAULT gst_gst_audio_wsincband_debug
|
||||
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
|
||||
|
||||
|
|
|
@ -64,6 +64,8 @@
|
|||
|
||||
#include "audiowsinclimit.h"
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
#define GST_CAT_DEFAULT gst_audio_wsinclimit_debug
|
||||
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@
|
|||
#include "gstiirequalizer3bands.h"
|
||||
#include "gstiirequalizer10bands.h"
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
GST_DEBUG_CATEGORY (equalizer_debug);
|
||||
#define GST_CAT_DEFAULT equalizer_debug
|
||||
|
||||
|
|
|
@ -41,6 +41,8 @@
|
|||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
#include "gstimagefreeze.h"
|
||||
|
||||
static void gst_image_freeze_finalize (GObject * object);
|
||||
|
|
|
@ -129,6 +129,8 @@
|
|||
#include "gstrtpsession.h"
|
||||
#include "gstrtpjitterbuffer.h"
|
||||
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (gst_rtp_bin_debug);
|
||||
#define GST_CAT_DEFAULT gst_rtp_bin_debug
|
||||
|
||||
|
|
|
@ -67,6 +67,8 @@
|
|||
#include "rtpjitterbuffer.h"
|
||||
#include "rtpstats.h"
|
||||
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
GST_DEBUG_CATEGORY (rtpjitterbuffer_debug);
|
||||
#define GST_CAT_DEFAULT (rtpjitterbuffer_debug)
|
||||
|
||||
|
|
|
@ -114,6 +114,8 @@
|
|||
|
||||
#include <gst/rtp/gstrtpbuffer.h>
|
||||
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
#include "gstrtpbin-marshal.h"
|
||||
#include "gstrtpsession.h"
|
||||
#include "rtpsession.h"
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
#include <gst/rtp/gstrtcpbuffer.h>
|
||||
#include <gst/netbuffer/gstnetbuffer.h>
|
||||
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
#include "gstrtpbin-marshal.h"
|
||||
#include "rtpsession.h"
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@
|
|||
|
||||
#include <gst/gst.h>
|
||||
#include <gst/controller/gstcontroller.h>
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
#include "gstshapewipe.h"
|
||||
|
||||
|
|
|
@ -41,6 +41,8 @@
|
|||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (multiudpsink_debug);
|
||||
#define GST_CAT_DEFAULT (multiudpsink_debug)
|
||||
|
||||
|
@ -172,8 +174,7 @@ gst_multiudpsink_base_init (gpointer g_class)
|
|||
{
|
||||
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
|
||||
|
||||
gst_element_class_add_static_pad_template (element_class,
|
||||
&sink_template);
|
||||
gst_element_class_add_static_pad_template (element_class, &sink_template);
|
||||
|
||||
gst_element_class_set_details_simple (element_class, "UDP packet sender",
|
||||
"Sink/Network",
|
||||
|
|
|
@ -66,6 +66,8 @@
|
|||
|
||||
#include <gst/controller/gstcontroller.h>
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (videobox_debug);
|
||||
#define GST_CAT_DEFAULT videobox_debug
|
||||
|
||||
|
|
|
@ -43,6 +43,8 @@
|
|||
|
||||
#include "gstaspectratiocrop.h"
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (aspect_ratio_crop_debug);
|
||||
#define GST_CAT_DEFAULT aspect_ratio_crop_debug
|
||||
|
||||
|
@ -169,8 +171,7 @@ gst_aspect_ratio_crop_base_init (gpointer g_class)
|
|||
"Crops video into a user-defined aspect-ratio",
|
||||
"Thijs Vermeir <thijsvermeir@gmail.com>");
|
||||
|
||||
gst_element_class_add_static_pad_template (element_class,
|
||||
&sink_template);
|
||||
gst_element_class_add_static_pad_template (element_class, &sink_template);
|
||||
gst_element_class_add_static_pad_template (element_class, &src_template);
|
||||
}
|
||||
|
||||
|
|
|
@ -89,6 +89,8 @@
|
|||
#include "videomixer.h"
|
||||
#include "videomixer2.h"
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
#ifdef DISABLE_ORC
|
||||
#define orc_memset memset
|
||||
#else
|
||||
|
|
|
@ -93,6 +93,8 @@
|
|||
|
||||
#include <gst/controller/gstcontroller.h>
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
#ifdef DISABLE_ORC
|
||||
#define orc_memset memset
|
||||
#else
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
|
||||
#include <gst/interfaces/mixer.h>
|
||||
#include <gst/gst-i18n-plugin.h>
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
#include <glib/gprintf.h>
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
#endif
|
||||
#include "v4l2_calls.h"
|
||||
#include "gst/gst-i18n-plugin.h"
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
/* videodev2.h is not versioned and we can't easily check for the presence
|
||||
* of enum values at compile time, but the V4L2_CAP_VIDEO_OUTPUT_OVERLAY define
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#include "v4l2_calls.h"
|
||||
|
||||
#include "gst/gst-i18n-plugin.h"
|
||||
#include <gst/glib-compat-private.h>
|
||||
|
||||
struct _GstV4l2Xv
|
||||
{
|
||||
|
|
|
@ -49,6 +49,8 @@
|
|||
#include <gst/gst.h>
|
||||
#include <gst/gst-i18n-plugin.h>
|
||||
|
||||
#include "gst/glib-compat-private.h"
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (gst_debug_ximage_src);
|
||||
#define GST_CAT_DEFAULT gst_debug_ximage_src
|
||||
|
||||
|
|
Loading…
Reference in a new issue