summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am1
-rw-r--r--ext/jack/gstjackaudioclient.c2
-rw-r--r--ext/pulse/pulseaudiosink.c1
-rw-r--r--ext/pulse/pulsesink.c2
-rw-r--r--ext/soup/gstsouphttpclientsink.c2
-rw-r--r--gst-libs/gst/glib-compat-private.h120
-rw-r--r--gst/audiofx/audiochebband.c2
-rw-r--r--gst/audiofx/audiocheblimit.c2
-rw-r--r--gst/audiofx/audiofirfilter.c2
-rw-r--r--gst/audiofx/audioiirfilter.c2
-rw-r--r--gst/audiofx/audiowsincband.c2
-rw-r--r--gst/audiofx/audiowsinclimit.c2
-rw-r--r--gst/equalizer/gstiirequalizer.c2
-rw-r--r--gst/imagefreeze/gstimagefreeze.c2
-rw-r--r--gst/rtpmanager/gstrtpbin.c2
-rw-r--r--gst/rtpmanager/gstrtpjitterbuffer.c2
-rw-r--r--gst/rtpmanager/gstrtpsession.c2
-rw-r--r--gst/rtpmanager/rtpsession.c2
-rw-r--r--gst/shapewipe/gstshapewipe.c1
-rw-r--r--gst/udp/gstmultiudpsink.c5
-rw-r--r--gst/videobox/gstvideobox.c2
-rw-r--r--gst/videocrop/gstaspectratiocrop.c5
-rw-r--r--gst/videomixer/videomixer.c2
-rw-r--r--gst/videomixer/videomixer2.c2
-rw-r--r--sys/oss4/oss4-mixer.c1
-rw-r--r--sys/v4l2/gstv4l2bufferpool.c1
-rw-r--r--sys/v4l2/gstv4l2xoverlay.c1
-rw-r--r--sys/ximage/gstximagesrc.c2
28 files changed, 170 insertions, 4 deletions
diff --git a/Makefile.am b/Makefile.am
index fb78f5d65..862126dd1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -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
diff --git a/ext/jack/gstjackaudioclient.c b/ext/jack/gstjackaudioclient.c
index 1789edb60..2bb355529 100644
--- a/ext/jack/gstjackaudioclient.c
+++ b/ext/jack/gstjackaudioclient.c
@@ -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
diff --git a/ext/pulse/pulseaudiosink.c b/ext/pulse/pulseaudiosink.c
index 15f3bf1ee..cd9f7d914 100644
--- a/ext/pulse/pulseaudiosink.c
+++ b/ext/pulse/pulseaudiosink.c
@@ -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"
diff --git a/ext/pulse/pulsesink.c b/ext/pulse/pulsesink.c
index cfab338b5..3c6177089 100644
--- a/ext/pulse/pulsesink.c
+++ b/ext/pulse/pulsesink.c
@@ -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"
diff --git a/ext/soup/gstsouphttpclientsink.c b/ext/soup/gstsouphttpclientsink.c
index 13cc80576..5f3d47e1e 100644
--- a/ext/soup/gstsouphttpclientsink.c
+++ b/ext/soup/gstsouphttpclientsink.c
@@ -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
diff --git a/gst-libs/gst/glib-compat-private.h b/gst-libs/gst/glib-compat-private.h
new file mode 100644
index 000000000..d143d3257
--- /dev/null
+++ b/gst-libs/gst/glib-compat-private.h
@@ -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
diff --git a/gst/audiofx/audiochebband.c b/gst/audiofx/audiochebband.c
index 89a950c23..08c1acf34 100644
--- a/gst/audiofx/audiochebband.c
+++ b/gst/audiofx/audiochebband.c
@@ -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);
diff --git a/gst/audiofx/audiocheblimit.c b/gst/audiofx/audiocheblimit.c
index 8d51fbbf6..b7bb90bbc 100644
--- a/gst/audiofx/audiocheblimit.c
+++ b/gst/audiofx/audiocheblimit.c
@@ -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);
diff --git a/gst/audiofx/audiofirfilter.c b/gst/audiofx/audiofirfilter.c
index b6102ae78..bd5a51be4 100644
--- a/gst/audiofx/audiofirfilter.c
+++ b/gst/audiofx/audiofirfilter.c
@@ -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);
diff --git a/gst/audiofx/audioiirfilter.c b/gst/audiofx/audioiirfilter.c
index bac16b295..ff5f9caec 100644
--- a/gst/audiofx/audioiirfilter.c
+++ b/gst/audiofx/audioiirfilter.c
@@ -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);
diff --git a/gst/audiofx/audiowsincband.c b/gst/audiofx/audiowsincband.c
index 07356e240..3f9498846 100644
--- a/gst/audiofx/audiowsincband.c
+++ b/gst/audiofx/audiowsincband.c
@@ -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);
diff --git a/gst/audiofx/audiowsinclimit.c b/gst/audiofx/audiowsinclimit.c
index aa0cf4b0f..ad605697d 100644
--- a/gst/audiofx/audiowsinclimit.c
+++ b/gst/audiofx/audiowsinclimit.c
@@ -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);
diff --git a/gst/equalizer/gstiirequalizer.c b/gst/equalizer/gstiirequalizer.c
index c640124de..d66db1a4d 100644
--- a/gst/equalizer/gstiirequalizer.c
+++ b/gst/equalizer/gstiirequalizer.c
@@ -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
diff --git a/gst/imagefreeze/gstimagefreeze.c b/gst/imagefreeze/gstimagefreeze.c
index 77785caae..312f4aa15 100644
--- a/gst/imagefreeze/gstimagefreeze.c
+++ b/gst/imagefreeze/gstimagefreeze.c
@@ -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);
diff --git a/gst/rtpmanager/gstrtpbin.c b/gst/rtpmanager/gstrtpbin.c
index b322f8ecc..ef00a8519 100644
--- a/gst/rtpmanager/gstrtpbin.c
+++ b/gst/rtpmanager/gstrtpbin.c
@@ -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
diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c
index c69d47772..4c72fb626 100644
--- a/gst/rtpmanager/gstrtpjitterbuffer.c
+++ b/gst/rtpmanager/gstrtpjitterbuffer.c
@@ -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)
diff --git a/gst/rtpmanager/gstrtpsession.c b/gst/rtpmanager/gstrtpsession.c
index 68284383c..31f9a7377 100644
--- a/gst/rtpmanager/gstrtpsession.c
+++ b/gst/rtpmanager/gstrtpsession.c
@@ -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"
diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c
index f499106f2..eed96ac5b 100644
--- a/gst/rtpmanager/rtpsession.c
+++ b/gst/rtpmanager/rtpsession.c
@@ -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"
diff --git a/gst/shapewipe/gstshapewipe.c b/gst/shapewipe/gstshapewipe.c
index 3397dda8f..b8c91b527 100644
--- a/gst/shapewipe/gstshapewipe.c
+++ b/gst/shapewipe/gstshapewipe.c
@@ -46,6 +46,7 @@
#include <gst/gst.h>
#include <gst/controller/gstcontroller.h>
+#include <gst/glib-compat-private.h>
#include "gstshapewipe.h"
diff --git a/gst/udp/gstmultiudpsink.c b/gst/udp/gstmultiudpsink.c
index a2d74a71f..7a35aaeca 100644
--- a/gst/udp/gstmultiudpsink.c
+++ b/gst/udp/gstmultiudpsink.c
@@ -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",
diff --git a/gst/videobox/gstvideobox.c b/gst/videobox/gstvideobox.c
index 691c5f123..9d311840b 100644
--- a/gst/videobox/gstvideobox.c
+++ b/gst/videobox/gstvideobox.c
@@ -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
diff --git a/gst/videocrop/gstaspectratiocrop.c b/gst/videocrop/gstaspectratiocrop.c
index b37217aed..150df37f4 100644
--- a/gst/videocrop/gstaspectratiocrop.c
+++ b/gst/videocrop/gstaspectratiocrop.c
@@ -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);
}
diff --git a/gst/videomixer/videomixer.c b/gst/videomixer/videomixer.c
index 2c78c618b..5a49b3912 100644
--- a/gst/videomixer/videomixer.c
+++ b/gst/videomixer/videomixer.c
@@ -89,6 +89,8 @@
#include "videomixer.h"
#include "videomixer2.h"
+#include "gst/glib-compat-private.h"
+
#ifdef DISABLE_ORC
#define orc_memset memset
#else
diff --git a/gst/videomixer/videomixer2.c b/gst/videomixer/videomixer2.c
index fde327a71..b876c22fd 100644
--- a/gst/videomixer/videomixer2.c
+++ b/gst/videomixer/videomixer2.c
@@ -93,6 +93,8 @@
#include <gst/controller/gstcontroller.h>
+#include "gst/glib-compat-private.h"
+
#ifdef DISABLE_ORC
#define orc_memset memset
#else
diff --git a/sys/oss4/oss4-mixer.c b/sys/oss4/oss4-mixer.c
index fa81eccca..87f7ca61e 100644
--- a/sys/oss4/oss4-mixer.c
+++ b/sys/oss4/oss4-mixer.c
@@ -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>
diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c
index e976ec507..b81c6a411 100644
--- a/sys/v4l2/gstv4l2bufferpool.c
+++ b/sys/v4l2/gstv4l2bufferpool.c
@@ -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
diff --git a/sys/v4l2/gstv4l2xoverlay.c b/sys/v4l2/gstv4l2xoverlay.c
index 80f114d20..60d091906 100644
--- a/sys/v4l2/gstv4l2xoverlay.c
+++ b/sys/v4l2/gstv4l2xoverlay.c
@@ -40,6 +40,7 @@
#include "v4l2_calls.h"
#include "gst/gst-i18n-plugin.h"
+#include <gst/glib-compat-private.h>
struct _GstV4l2Xv
{
diff --git a/sys/ximage/gstximagesrc.c b/sys/ximage/gstximagesrc.c
index b0d99ad6a..36c0b44e7 100644
--- a/sys/ximage/gstximagesrc.c
+++ b/sys/ximage/gstximagesrc.c
@@ -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