gstreamer_core/gst/gstutils.h
branchRCL_3
changeset 30 7e817e7e631c
parent 29 567bb019e3e3
--- a/gstreamer_core/gst/gstutils.h	Tue Aug 31 15:30:33 2010 +0300
+++ b/gstreamer_core/gst/gstutils.h	Wed Sep 01 12:16:41 2010 +0100
@@ -27,13 +27,9 @@
 
 #include <glib.h>
 #include <gst/gstbin.h>
-#include <gst/gstparse.h>
 
 G_BEGIN_DECLS
 
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
 void		gst_util_set_value_from_string	(GValue *value, const gchar *value_str);
 #ifdef __SYMBIAN32__
 IMPORT_C
@@ -50,12 +46,12 @@
 #endif
 
 
-guint64         gst_util_gdouble_to_guint64     (gdouble value)  G_GNUC_PURE;
+guint64         gst_util_gdouble_to_guint64     (gdouble value);
 #ifdef __SYMBIAN32__
 IMPORT_C
 #endif
 
-gdouble         gst_util_guint64_to_gdouble     (guint64 value)  G_GNUC_PURE;
+gdouble         gst_util_guint64_to_gdouble     (guint64 value);
 
 /**
  * gst_guint64_to_gdouble:
@@ -82,27 +78,13 @@
 #define         gst_guint64_to_gdouble(value)   ((gdouble) (value))
 #endif
 
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
-guint64		gst_util_uint64_scale		(guint64 val, guint64 num, guint64 denom) G_GNUC_PURE;
+guint64		gst_util_uint64_scale		(guint64 val, guint64 num, guint64 denom);
 #ifdef __SYMBIAN32__
 IMPORT_C
 #endif
 
 
-guint64         gst_util_uint64_scale_int       (guint64 val, gint num, gint denom) G_GNUC_PURE;
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
-
-
-guint32         gst_util_seqnum_next            (void);
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
-
-gint32          gst_util_seqnum_compare         (guint32 s1, guint32 s2);
+guint64         gst_util_uint64_scale_int       (guint64 val, gint num, gint denom);
 #ifdef __SYMBIAN32__
 IMPORT_C
 #endif
@@ -178,15 +160,10 @@
 __declspec(dllexport) GType									\
 type_as_function ## _get_type (void)					\
 {									\
-  /* The typedef for GType may be gulong or gsize, depending on the	\
-   * system and whether the compiler is c++ or not. The g_once_init_*	\
-   * functions always take a gsize * though ... */			\
-  static volatile gsize gonce_data = 0;					\
-  if (g_once_init_enter (&gonce_data)) {				\
-    GType _type;							\
-    _type = gst_type_register_static_full (parent_type_macro,           \
-        g_intern_static_string (#type),					\
-	sizeof (type ## Class),						\
+  static GType object_type = 0;						\
+  if (G_UNLIKELY (object_type == 0)) {					\
+    object_type = gst_type_register_static_full (parent_type_macro, #type,	\
+	sizeof (type ## Class),					\
         type_as_function ## _base_init,					\
         NULL,		  /* base_finalize */				\
         type_as_function ## _class_init_trampoline,			\
@@ -197,10 +174,9 @@
         (GInstanceInitFunc) type_as_function ## _init,                  \
         NULL,                                                           \
         (GTypeFlags) 0);				                \
-    additional_initializations (_type);				        \
-    g_once_init_leave (&gonce_data, (gsize) _type);			\
+    additional_initializations (object_type);				\
   }									\
-  return (GType) gonce_data;						\
+  return object_type;							\
 }
 
 #define __GST_DO_NOTHING(type)	/* NOP */
@@ -312,12 +288,12 @@
 	((parent_class_cast(parent_class)->name != NULL) ?		\
 	 parent_class_cast(parent_class)->name args : def_return)
 
-/* Define PUT and GET functions for unaligned memory */
-#define _GST_GET(__data, __idx, __size, __shift) \
-    (((guint##__size) (((guint8 *) (__data))[__idx])) << (__shift))
+/* Define possibly unaligned memory access method whether the type of
+ * architecture. */
+#if GST_HAVE_UNALIGNED_ACCESS
 
-#define _GST_PUT(__data, __idx, __size, __shift, __num) \
-    (((guint8 *) (__data))[__idx] = (((guint##__size) (__num)) >> (__shift)) & 0xff)
+#define _GST_GET(__data, __size, __end) \
+    (GUINT##__size##_FROM_##__end (* ((guint##__size *) (__data))))
 
 /**
  * GST_READ_UINT64_BE:
@@ -325,6 +301,115 @@
  *
  * Read a 64 bit unsigned integer value in big endian format from the memory buffer.
  */
+#define GST_READ_UINT64_BE(data)	_GST_GET (data, 64, BE)
+/**
+ * GST_READ_UINT64_LE:
+ * @data: memory location
+ *
+ * Read a 64 bit unsigned integer value in little endian format from the memory buffer.
+ */
+#define GST_READ_UINT64_LE(data)	_GST_GET (data, 64, LE)
+/**
+ * GST_READ_UINT32_BE:
+ * @data: memory location
+ *
+ * Read a 32 bit unsigned integer value in big endian format from the memory buffer.
+ */
+#define GST_READ_UINT32_BE(data)	_GST_GET (data, 32, BE)
+/**
+ * GST_READ_UINT32_LE:
+ * @data: memory location
+ *
+ * Read a 32 bit unsigned integer value in little endian format from the memory buffer.
+ */
+#define GST_READ_UINT32_LE(data)        _GST_GET (data, 32, LE)
+/**
+ * GST_READ_UINT16_BE:
+ * @data: memory location
+ *
+ * Read a 16 bit unsigned integer value in big endian format from the memory buffer.
+ */
+#define GST_READ_UINT16_BE(data)        _GST_GET (data, 16, BE)
+/**
+ * GST_READ_UINT16_LE:
+ * @data: memory location
+ *
+ * Read a 16 bit unsigned integer value in little endian format from the memory buffer.
+ */
+#define GST_READ_UINT16_LE(data)        _GST_GET (data, 16, LE)
+/**
+ * GST_READ_UINT8:
+ * @data: memory location
+ *
+ * Read an 8 bit unsigned integer value from the memory buffer.
+ */
+#define GST_READ_UINT8(data)		(* ((guint8 *) (data)))
+
+#define _GST_PUT(__data, __size, __end, __num) \
+    ((* (guint##__size *) (__data)) = GUINT##__size##_TO_##__end (__num))
+
+/**
+ * GST_WRITE_UINT64_BE:
+ * @data: memory location
+ * @num: value to store
+ *
+ * Store a 64 bit unsigned integer value in big endian format into the memory buffer.
+ */
+#define GST_WRITE_UINT64_BE(data, num)	_GST_PUT(data, 64, BE, num)
+/**
+ * GST_WRITE_UINT64_LE:
+ * @data: memory location
+ * @num: value to store
+ *
+ * Store a 64 bit unsigned integer value in little endian format into the memory buffer.
+ */
+#define GST_WRITE_UINT64_LE(data, num)  _GST_PUT(data, 64, LE, num)
+/**
+ * GST_WRITE_UINT32_BE:
+ * @data: memory location
+ * @num: value to store
+ *
+ * Store a 32 bit unsigned integer value in big endian format into the memory buffer.
+ */
+#define GST_WRITE_UINT32_BE(data, num)  _GST_PUT(data, 32, BE, num)
+/**
+ * GST_WRITE_UINT32_LE:
+ * @data: memory location
+ * @num: value to store
+ *
+ * Store a 32 bit unsigned integer value in little endian format into the memory buffer.
+ */
+#define GST_WRITE_UINT32_LE(data, num)  _GST_PUT(data, 32, LE, num)
+/**
+ * GST_WRITE_UINT16_BE:
+ * @data: memory location
+ * @num: value to store
+ *
+ * Store a 16 bit unsigned integer value in big endian format into the memory buffer.
+ */
+#define GST_WRITE_UINT16_BE(data, num)  _GST_PUT(data, 16, BE, num)
+/**
+ * GST_WRITE_UINT16_LE:
+ * @data: memory location
+ * @num: value to store
+ *
+ * Store a 16 bit unsigned integer value in little endian format into the memory buffer.
+ */
+#define GST_WRITE_UINT16_LE(data, num)  _GST_PUT(data, 16, LE, num)
+/**
+ * GST_WRITE_UINT8:
+ * @data: memory location
+ * @num: value to store
+ *
+ * Store an 8 bit unsigned integer value into the memory buffer.
+ */
+#define GST_WRITE_UINT8(data, num)	((* (guint8 *) (data)) = (num))
+
+#else /* GST_HAVE_UNALIGNED_ACCESS */
+
+#define _GST_GET(__data, __idx, __size, __shift) \
+    (((guint##__size) (((guint8 *) (__data))[__idx])) << __shift)
+
 #define GST_READ_UINT64_BE(data)	(_GST_GET (data, 0, 64, 56) | \
 					 _GST_GET (data, 1, 64, 48) | \
 					 _GST_GET (data, 2, 64, 40) | \
@@ -334,12 +419,6 @@
 					 _GST_GET (data, 6, 64,  8) | \
 					 _GST_GET (data, 7, 64,  0))
 
-/**
- * GST_READ_UINT64_LE:
- * @data: memory location
- *
- * Read a 64 bit unsigned integer value in little endian format from the memory buffer.
- */
 #define GST_READ_UINT64_LE(data)	(_GST_GET (data, 7, 64, 56) | \
 					 _GST_GET (data, 6, 64, 48) | \
 					 _GST_GET (data, 5, 64, 40) | \
@@ -349,85 +428,27 @@
 					 _GST_GET (data, 1, 64,  8) | \
 					 _GST_GET (data, 0, 64,  0))
 
-/**
- * GST_READ_UINT32_BE:
- * @data: memory location
- *
- * Read a 32 bit unsigned integer value in big endian format from the memory buffer.
- */
 #define GST_READ_UINT32_BE(data)	(_GST_GET (data, 0, 32, 24) | \
 					 _GST_GET (data, 1, 32, 16) | \
 					 _GST_GET (data, 2, 32,  8) | \
 					 _GST_GET (data, 3, 32,  0))
 
-/**
- * GST_READ_UINT32_LE:
- * @data: memory location
- *
- * Read a 32 bit unsigned integer value in little endian format from the memory buffer.
- */
 #define GST_READ_UINT32_LE(data)	(_GST_GET (data, 3, 32, 24) | \
 					 _GST_GET (data, 2, 32, 16) | \
 					 _GST_GET (data, 1, 32,  8) | \
 					 _GST_GET (data, 0, 32,  0))
 
-/**
- * GST_READ_UINT24_BE:
- * @data: memory location
- *
- * Read a 24 bit unsigned integer value in big endian format from the memory buffer.
- *
- * Since: 0.10.22
- */
-#define GST_READ_UINT24_BE(data)	(_GST_GET (data, 0, 32, 16) | \
-					 _GST_GET (data, 1, 32,  8) | \
-					 _GST_GET (data, 2, 32,  0))
-
-/**
- * GST_READ_UINT24_LE:
- * @data: memory location
- *
- * Read a 24 bit unsigned integer value in little endian format from the memory buffer.
- *
- * Since: 0.10.22
- */
-#define GST_READ_UINT24_LE(data)	(_GST_GET (data, 2, 32, 16) | \
-					 _GST_GET (data, 1, 32,  8) | \
-					 _GST_GET (data, 0, 32,  0))
-
-/**
- * GST_READ_UINT16_BE:
- * @data: memory location
- *
- * Read a 16 bit unsigned integer value in big endian format from the memory buffer.
- */
 #define GST_READ_UINT16_BE(data)	(_GST_GET (data, 0, 16,  8) | \
 					 _GST_GET (data, 1, 16,  0))
 
-/**
- * GST_READ_UINT16_LE:
- * @data: memory location
- *
- * Read a 16 bit unsigned integer value in little endian format from the memory buffer.
- */
 #define GST_READ_UINT16_LE(data)	(_GST_GET (data, 1, 16,  8) | \
 					 _GST_GET (data, 0, 16,  0))
 
-/**
- * GST_READ_UINT8:
- * @data: memory location
- *
- * Read an 8 bit unsigned integer value from the memory buffer.
- */
 #define GST_READ_UINT8(data)		(_GST_GET (data, 0,  8,  0))
 
-/**
- * GST_WRITE_UINT64_BE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 64 bit unsigned integer value in big endian format into the memory buffer.
- */
+#define _GST_PUT(__data, __idx, __size, __shift, __num) \
+    (((guint8 *) (__data))[__idx] = (((guint##__size) __num) >> __shift) & 0xff)
+
 #define GST_WRITE_UINT64_BE(data, num)	do { \
 					  _GST_PUT (data, 0, 64, 56, num); \
 					  _GST_PUT (data, 1, 64, 48, num); \
@@ -439,13 +460,6 @@
 					  _GST_PUT (data, 7, 64,  0, num); \
 					} while (0)
 
-/**
- * GST_WRITE_UINT64_LE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 64 bit unsigned integer value in little endian format into the memory buffer.
- */
 #define GST_WRITE_UINT64_LE(data, num)	do { \
 					  _GST_PUT (data, 0, 64,  0, num); \
 					  _GST_PUT (data, 1, 64,  8, num); \
@@ -457,13 +471,6 @@
 					  _GST_PUT (data, 7, 64, 56, num); \
 					} while (0)
 
-/**
- * GST_WRITE_UINT32_BE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 32 bit unsigned integer value in big endian format into the memory buffer.
- */
 #define GST_WRITE_UINT32_BE(data, num)	do { \
 					  _GST_PUT (data, 0, 32, 24, num); \
 					  _GST_PUT (data, 1, 32, 16, num); \
@@ -471,13 +478,6 @@
 					  _GST_PUT (data, 3, 32,  0, num); \
 					} while (0)
 
-/**
- * GST_WRITE_UINT32_LE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 32 bit unsigned integer value in little endian format into the memory buffer.
- */
 #define GST_WRITE_UINT32_LE(data, num)	do { \
 					  _GST_PUT (data, 0, 32,  0, num); \
 					  _GST_PUT (data, 1, 32,  8, num); \
@@ -485,457 +485,22 @@
 					  _GST_PUT (data, 3, 32, 24, num); \
 					} while (0)
 
-/**
- * GST_WRITE_UINT24_BE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 24 bit unsigned integer value in big endian format into the memory buffer.
- *
- * Since: 0.10.22
- */
-#define GST_WRITE_UINT24_BE(data, num)	do { \
-					  _GST_PUT (data, 0, 32,  16, num); \
-					  _GST_PUT (data, 1, 32,  8, num); \
-					  _GST_PUT (data, 2, 32,  0, num); \
-					} while (0)
-
-/**
- * GST_WRITE_UINT24_LE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 24 bit unsigned integer value in little endian format into the memory buffer.
- *
- * Since: 0.10.22
- */
-#define GST_WRITE_UINT24_LE(data, num)	do { \
-					  _GST_PUT (data, 0, 32,  0, num); \
-					  _GST_PUT (data, 1, 32,  8, num); \
-					  _GST_PUT (data, 2, 32,  16, num); \
-					} while (0)
-
-/**
- * GST_WRITE_UINT16_BE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 16 bit unsigned integer value in big endian format into the memory buffer.
- */
 #define GST_WRITE_UINT16_BE(data, num)	do { \
 					  _GST_PUT (data, 0, 16,  8, num); \
 					  _GST_PUT (data, 1, 16,  0, num); \
 					} while (0)
 
-/**
- * GST_WRITE_UINT16_LE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 16 bit unsigned integer value in little endian format into the memory buffer.
- */
 #define GST_WRITE_UINT16_LE(data, num)	do { \
 					  _GST_PUT (data, 0, 16,  0, num); \
 					  _GST_PUT (data, 1, 16,  8, num); \
 					} while (0)
 
-/**
- * GST_WRITE_UINT8:
- * @data: memory location
- * @num: value to store
- *
- * Store an 8 bit unsigned integer value into the memory buffer.
- */
 #define GST_WRITE_UINT8(data, num)	do { \
 					  _GST_PUT (data, 0,  8,  0, num); \
 					} while (0)
 
-/* Float endianess conversion macros */
-
-/* FIXME: Remove this once we depend on a GLib version with this */
-#ifndef GFLOAT_FROM_LE
-/**
- * GFLOAT_SWAP_LE_BE:
- * @in: input value
- *
- * Swap byte order of a 32-bit floating point value (float).
- *
- * Returns: @in byte-swapped.
- *
- * Since: 0.10.22
- *
- */
-#ifdef _FOOL_GTK_DOC_
-G_INLINE_FUNC gfloat GFLOAT_SWAP_LE_BE (gfloat in);
-#endif
-
-inline static gfloat
-GFLOAT_SWAP_LE_BE(gfloat in)
-{
-  union
-  {
-    guint32 i;
-    gfloat f;
-  } u;
-
-  u.f = in;
-  u.i = GUINT32_SWAP_LE_BE (u.i);
-  return u.f;
-}
-
-/**
- * GDOUBLE_SWAP_LE_BE:
- * @in: input value
- *
- * Swap byte order of a 64-bit floating point value (double).
- *
- * Returns: @in byte-swapped.
- *
- * Since: 0.10.22
- *
- */
-#ifdef _FOOL_GTK_DOC_
-G_INLINE_FUNC gdouble GDOUBLE_SWAP_LE_BE (gdouble in);
-#endif
-
-inline static gdouble
-GDOUBLE_SWAP_LE_BE(gdouble in)
-{
-  union
-  {
-    guint64 i;
-    gdouble d;
-  } u;
-
-  u.d = in;
-  u.i = GUINT64_SWAP_LE_BE (u.i);
-  return u.d;
-}
-
-/**
- * GDOUBLE_TO_LE:
- * @val: value
- *
- * Convert 64-bit floating point value (double) from native byte order into
- * little endian byte order.
- *
- * Since: 0.10.22
- *
- */
-/**
- * GDOUBLE_TO_BE:
- * @val: value
- *
- * Convert 64-bit floating point value (double) from native byte order into
- * big endian byte order.
- *
- * Since: 0.10.22
- *
- */
-/**
- * GDOUBLE_FROM_LE:
- * @val: value
- *
- * Convert 64-bit floating point value (double) from little endian byte order
- * into native byte order.
- *
- * Since: 0.10.22
- *
- */
-/**
- * GDOUBLE_FROM_BE:
- * @val: value
- *
- * Convert 64-bit floating point value (double) from big endian byte order
- * into native byte order.
- *
- * Since: 0.10.22
- *
- */
-
-/**
- * GFLOAT_TO_LE:
- * @val: value
- *
- * Convert 32-bit floating point value (float) from native byte order into
- * little endian byte order.
- *
- * Since: 0.10.22
- *
- */
-/**
- * GFLOAT_TO_BE:
- * @val: value
- *
- * Convert 32-bit floating point value (float) from native byte order into
- * big endian byte order.
- *
- * Since: 0.10.22
- *
- */
-/**
- * GFLOAT_FROM_LE:
- * @val: value
- *
- * Convert 32-bit floating point value (float) from little endian byte order
- * into native byte order.
- *
- * Since: 0.10.22
- *
- */
-/**
- * GFLOAT_FROM_BE:
- * @val: value
- *
- * Convert 32-bit floating point value (float) from big endian byte order
- * into native byte order.
- *
- * Since: 0.10.22
- *
- */
-
-#if G_BYTE_ORDER == G_LITTLE_ENDIAN
-#define GFLOAT_TO_LE(val)    ((gfloat) (val))
-#define GFLOAT_TO_BE(val)    (GFLOAT_SWAP_LE_BE (val))
-#define GDOUBLE_TO_LE(val)   ((gdouble) (val))
-#define GDOUBLE_TO_BE(val)   (GDOUBLE_SWAP_LE_BE (val))
-
-#elif G_BYTE_ORDER == G_BIG_ENDIAN
-#define GFLOAT_TO_LE(val)    (GFLOAT_SWAP_LE_BE (val))
-#define GFLOAT_TO_BE(val)    ((gfloat) (val))
-#define GDOUBLE_TO_LE(val)   (GDOUBLE_SWAP_LE_BE (val))
-#define GDOUBLE_TO_BE(val)   ((gdouble) (val))
-
-#else /* !G_LITTLE_ENDIAN && !G_BIG_ENDIAN */
-#error unknown ENDIAN type
-#endif /* !G_LITTLE_ENDIAN && !G_BIG_ENDIAN */
-
-#define GFLOAT_FROM_LE(val)  (GFLOAT_TO_LE (val))
-#define GFLOAT_FROM_BE(val)  (GFLOAT_TO_BE (val))
-#define GDOUBLE_FROM_LE(val) (GDOUBLE_TO_LE (val))
-#define GDOUBLE_FROM_BE(val) (GDOUBLE_TO_BE (val))
-
-#endif /* !defined(GFLOAT_FROM_LE) */
-
-/**
- * GST_READ_FLOAT_LE:
- * @data: memory location
- *
- * Read a 32 bit float value in little endian format from the memory buffer.
- *
- * Returns: The floating point value read from @data
- *
- * Since: 0.10.22
- *
- */
-#ifdef _FOOL_GTK_DOC_
-G_INLINE_FUNC gfloat GST_READ_FLOAT_LE (const guint8 *data);
-#endif
-
-inline static gfloat
-GST_READ_FLOAT_LE(const guint8 *data)
-{
-  union
-  {
-    guint32 i;
-    gfloat f;
-  } u;
+#endif /* GST_HAVE_UNALIGNED_ACCESS */
 
-  u.i = GST_READ_UINT32_LE (data);
-  return u.f;
-}
-
-/**
- * GST_READ_FLOAT_BE:
- * @data: memory location
- *
- * Read a 32 bit float value in big endian format from the memory buffer.
- *
- * Returns: The floating point value read from @data
- *
- * Since: 0.10.22
- *
- */
-#ifdef _FOOL_GTK_DOC_
-G_INLINE_FUNC gfloat GST_READ_FLOAT_BE (const guint8 *data);
-#endif
-
-inline static gfloat
-GST_READ_FLOAT_BE(const guint8 *data)
-{
-  union
-  {
-    guint32 i;
-    gfloat f;
-  } u;
-
-  u.i = GST_READ_UINT32_BE (data);
-  return u.f;
-}
-
-/**
- * GST_READ_DOUBLE_LE:
- * @data: memory location
- *
- * Read a 64 bit double value in little endian format from the memory buffer.
- *
- * Returns: The double-precision floating point value read from @data
- *
- * Since: 0.10.22
- *
- */
-#ifdef _FOOL_GTK_DOC_
-G_INLINE_FUNC gdouble GST_READ_DOUBLE_LE (const guint8 *data);
-#endif
-
-inline static gdouble
-GST_READ_DOUBLE_LE(const guint8 *data)
-{
-  union
-  {
-    guint64 i;
-    gdouble d;
-  } u;
-
-  u.i = GST_READ_UINT64_LE (data);
-  return u.d;
-}
-
-/**
- * GST_READ_DOUBLE_BE:
- * @data: memory location
- *
- * Read a 64 bit double value in big endian format from the memory buffer.
- *
- * Returns: The double-precision floating point value read from @data
- *
- * Since: 0.10.22
- *
- */
-#ifdef _FOOL_GTK_DOC_
-G_INLINE_FUNC gdouble GST_READ_DOUBLE_BE (const guint8 *data);
-#endif
-
-inline static gdouble
-GST_READ_DOUBLE_BE(const guint8 *data)
-{
-  union
-  {
-    guint64 i;
-    gdouble d;
-  } u;
-
-  u.i = GST_READ_UINT64_BE (data);
-  return u.d;
-}
-
-/**
- * GST_WRITE_FLOAT_LE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 32 bit float value in little endian format into the memory buffer.
- *
- * Since: 0.10.22
- *
- */
-#ifdef _FOOL_GTK_DOC_
-G_INLINE_FUNC void GST_WRITE_FLOAT_LE (guint8 *data, gfloat num);
-#endif
-
-inline static void
-GST_WRITE_FLOAT_LE(guint8 *data, gfloat num)
-{
-  union
-  {
-    guint32 i;
-    gfloat f;
-  } u;
-
-  u.f = num;
-  GST_WRITE_UINT32_LE (data, u.i);
-}
-
-/**
- * GST_WRITE_FLOAT_BE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 32 bit float value in big endian format into the memory buffer.
- *
- * Since: 0.10.22
- *
- */
-#ifdef _FOOL_GTK_DOC_
-G_INLINE_FUNC void GST_WRITE_FLOAT_BE (guint8 *data, gfloat num);
-#endif
-
-inline static void
-GST_WRITE_FLOAT_BE(guint8 *data, gfloat num)
-{
-  union
-  {
-    guint32 i;
-    gfloat f;
-  } u;
-
-  u.f = num;
-  GST_WRITE_UINT32_BE (data, u.i);
-}
-
-/**
- * GST_WRITE_DOUBLE_LE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 64 bit double value in little endian format into the memory buffer.
- *
- * Since: 0.10.22
- *
- */
-#ifdef _FOOL_GTK_DOC_
-G_INLINE_FUNC void GST_WRITE_DOUBLE_LE (guint8 *data, gdouble num);
-#endif
-
-inline static void
-GST_WRITE_DOUBLE_LE(guint8 *data, gdouble num)
-{
-  union
-  {
-    guint64 i;
-    gdouble d;
-  } u;
-
-  u.d = num;
-  GST_WRITE_UINT64_LE (data, u.i);
-}
-
-/**
- * GST_WRITE_DOUBLE_BE:
- * @data: memory location
- * @num: value to store
- *
- * Store a 64 bit double value in big endian format into the memory buffer.
- *
- * Since: 0.10.22
- *
- */
-#ifdef _FOOL_GTK_DOC_
-G_INLINE_FUNC void GST_WRITE_DOUBLE_BE (guint8 *data, gdouble num);
-#endif
-
-inline static void
-GST_WRITE_DOUBLE_BE(guint8 *data, gdouble num)
-{
-  union
-  {
-    guint64 i;
-    gdouble d;
-  } u;
-
-  u.d = num;
-  GST_WRITE_UINT64_BE (data, u.i);
-}
 
 /* Miscellaneous utility macros */
 
@@ -1037,9 +602,6 @@
  */
 #define GST_ROUND_DOWN_64(num) ((num)&(~63))
 
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
 void			gst_object_default_error	(GstObject * source,
 							 GError * error, gchar * debug);
 
@@ -1128,10 +690,10 @@
 #endif
 
 
-gboolean                gst_element_seek_simple         (GstElement   *element,
-                                                         GstFormat     format,
-                                                         GstSeekFlags  seek_flags,
-                                                         gint64        seek_pos);
+gboolean        gst_element_seek_simple (GstElement   *element,
+                                         GstFormat     format,
+                                         GstSeekFlags  seek_flags,
+                                         gint64        seek_pos);
 
 /* util elementfactory functions */
 #ifdef __SYMBIAN32__
@@ -1178,6 +740,12 @@
 IMPORT_C
 #endif
 
+gboolean                gst_pad_can_link                (GstPad *srcpad, GstPad *sinkpad);
+#ifdef __SYMBIAN32__
+IMPORT_C
+#endif
+
+
 void			gst_pad_use_fixed_caps		(GstPad *pad);
 #ifdef __SYMBIAN32__
 IMPORT_C
@@ -1255,13 +823,7 @@
 IMPORT_C
 #endif
 
-GstPad *                gst_bin_find_unlinked_pad       (GstBin *bin, GstPadDirection direction);
-#ifndef GST_DISABLE_DEPRECATED
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
 GstPad *                gst_bin_find_unconnected_pad    (GstBin *bin, GstPadDirection direction);
-#endif
 
 /* buffer functions */
 #ifdef __SYMBIAN32__
@@ -1279,78 +841,48 @@
 #endif /* GST_DISABLE_DEPRECATED */
 
 /* atomic functions */
-#ifndef GST_DISABLE_DEPRECATED
+#ifdef __SYMBIAN32__
+IMPORT_C
+#endif
+
 void                    gst_atomic_int_set              (gint * atomic_int, gint value);
-#endif
 
 /* probes */
 #ifdef __SYMBIAN32__
 IMPORT_C
 #endif
 
-gulong			gst_pad_add_data_probe		(GstPad   * pad,
-							 GCallback  handler,
-							 gpointer   data);
+gulong			gst_pad_add_data_probe		(GstPad * pad,
+							 GCallback handler,
+							 gpointer data);
 #ifdef __SYMBIAN32__
 IMPORT_C
 #endif
 
-
-gulong			gst_pad_add_data_probe_full	(GstPad       * pad,
-							 GCallback      handler,
-							 gpointer       data,
-							 GDestroyNotify notify);
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
-
-
 void			gst_pad_remove_data_probe	(GstPad * pad, guint handler_id);
 #ifdef __SYMBIAN32__
 IMPORT_C
 #endif
 
-
-gulong			gst_pad_add_event_probe		(GstPad   * pad,
-							 GCallback  handler,
-							 gpointer   data);
+gulong			gst_pad_add_event_probe		(GstPad * pad,
+							 GCallback handler,
+							 gpointer data);
 #ifdef __SYMBIAN32__
 IMPORT_C
 #endif
 
-
-gulong			gst_pad_add_event_probe_full	(GstPad       * pad,
-							 GCallback      handler,
-							 gpointer       data,
-							 GDestroyNotify notify);
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
-
-
 void			gst_pad_remove_event_probe	(GstPad * pad, guint handler_id);
 #ifdef __SYMBIAN32__
 IMPORT_C
 #endif
 
-
-gulong			gst_pad_add_buffer_probe	(GstPad   * pad,
-							 GCallback  handler,
-							 gpointer   data);
+gulong			gst_pad_add_buffer_probe	(GstPad * pad,
+							 GCallback handler,
+							 gpointer data);
 #ifdef __SYMBIAN32__
 IMPORT_C
 #endif
 
-
-gulong			gst_pad_add_buffer_probe_full	(GstPad       * pad,
-							 GCallback      handler,
-							 gpointer       data,
-							 GDestroyNotify notify);
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
-
-
 void			gst_pad_remove_buffer_probe	(GstPad * pad, guint handler_id);
 
 /* tag emission utility functions */
@@ -1373,50 +905,15 @@
 IMPORT_C
 #endif
 
-GstElement *            gst_parse_bin_from_description      (const gchar     * bin_description,
-                                                             gboolean          ghost_unlinked_pads,
-                                                             GError         ** err);
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
-
-
-GstElement *            gst_parse_bin_from_description_full (const gchar     * bin_description,
-                                                             gboolean          ghost_unlinked_pads,
-                                                             GstParseContext * context,
-                                                             GstParseFlags     flags,
-                                                             GError         ** err);
+GstElement *            gst_parse_bin_from_description  (const gchar * bin_description,
+                                                         gboolean ghost_unconnected_pads,
+                                                         GError ** err);
 #ifdef __SYMBIAN32__
 IMPORT_C
 #endif
 
 
-GstClockTime            gst_util_get_timestamp          (void);
-
-/**
- * GstSearchMode:
- * @GST_SEARCH_MODE_EXACT : Only search for exact matches.
- * @GST_SEARCH_MODE_BEFORE: Search for an exact match or the element just before.
- * @GST_SEARCH_MODE_AFTER : Search for an exact match or the element just after.
- *
- * The different search modes.
- *
- * Since: 0.10.23
- */
-typedef enum {
-  GST_SEARCH_MODE_EXACT = 0,
-  GST_SEARCH_MODE_BEFORE,
-  GST_SEARCH_MODE_AFTER
-} GstSearchMode;
-#ifdef __SYMBIAN32__
-IMPORT_C
-#endif
-
-
-gpointer                gst_util_array_binary_search      (gpointer array, guint num_elements,
-                                                           gsize element_size, GCompareDataFunc search_func,
-							   GstSearchMode mode, gconstpointer search_data,
-							   gpointer user_data);
+GstClockTime gst_util_get_timestamp (void);
 
 G_END_DECLS