gstreamer_core/gst/gstenumtypes.c
branchRCL_3
changeset 30 7e817e7e631c
parent 29 567bb019e3e3
--- a/gstreamer_core/gst/gstenumtypes.c	Tue Aug 31 15:30:33 2010 +0300
+++ b/gstreamer_core/gst/gstenumtypes.c	Wed Sep 01 12:16:41 2010 +0100
@@ -8,6 +8,17 @@
  
 
 /* enumerations from "gstobject.h" */
+static void
+register_gst_object_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_OBJECT_DISPOSING), "GST_OBJECT_DISPOSING", "disposing" },
+    { C_FLAGS(GST_OBJECT_FLOATING), "GST_OBJECT_FLOATING", "floating" },
+    { C_FLAGS(GST_OBJECT_FLAG_LAST), "GST_OBJECT_FLAG_LAST", "flag-last" },
+    { 0, NULL, NULL }
+  };
+  *id = g_flags_register_static ("GstObjectFlags", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -15,23 +26,23 @@
 GType
 gst_object_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_OBJECT_DISPOSING), "GST_OBJECT_DISPOSING", "disposing" },
-    { C_FLAGS(GST_OBJECT_FLOATING), "GST_OBJECT_FLOATING", "floating" },
-    { C_FLAGS(GST_OBJECT_FLAG_LAST), "GST_OBJECT_FLAG_LAST", "flag-last" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstObjectFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_object_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstbin.h" */
+static void
+register_gst_bin_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_BIN_FLAG_LAST), "GST_BIN_FLAG_LAST", "last" },
+    { 0, NULL, NULL }
+  };
+  *id = g_flags_register_static ("GstBinFlags", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -39,21 +50,29 @@
 GType
 gst_bin_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_BIN_FLAG_LAST), "GST_BIN_FLAG_LAST", "last" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstBinFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_bin_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstbuffer.h" */
+static void
+register_gst_buffer_flag (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_BUFFER_FLAG_READONLY), "GST_BUFFER_FLAG_READONLY", "readonly" },
+    { C_FLAGS(GST_BUFFER_FLAG_PREROLL), "GST_BUFFER_FLAG_PREROLL", "preroll" },
+    { C_FLAGS(GST_BUFFER_FLAG_DISCONT), "GST_BUFFER_FLAG_DISCONT", "discont" },
+    { C_FLAGS(GST_BUFFER_FLAG_IN_CAPS), "GST_BUFFER_FLAG_IN_CAPS", "in-caps" },
+    { C_FLAGS(GST_BUFFER_FLAG_GAP), "GST_BUFFER_FLAG_GAP", "gap" },
+    { C_FLAGS(GST_BUFFER_FLAG_DELTA_UNIT), "GST_BUFFER_FLAG_DELTA_UNIT", "delta-unit" },
+    { C_FLAGS(GST_BUFFER_FLAG_LAST), "GST_BUFFER_FLAG_LAST", "last" },
+    { 0, NULL, NULL }
+  };
+  *id = g_flags_register_static ("GstBufferFlag", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -61,27 +80,22 @@
 GType
 gst_buffer_flag_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_buffer_flag, &id);
+  return id;
+}
+static void
+register_gst_buffer_copy_flags (GType* id)
+{
   static const GFlagsValue values[] = {
-    { C_FLAGS(GST_BUFFER_FLAG_READONLY), "GST_BUFFER_FLAG_READONLY", "readonly" },
-    { C_FLAGS(GST_BUFFER_FLAG_PREROLL), "GST_BUFFER_FLAG_PREROLL", "preroll" },
-    { C_FLAGS(GST_BUFFER_FLAG_DISCONT), "GST_BUFFER_FLAG_DISCONT", "discont" },
-    { C_FLAGS(GST_BUFFER_FLAG_IN_CAPS), "GST_BUFFER_FLAG_IN_CAPS", "in-caps" },
-    { C_FLAGS(GST_BUFFER_FLAG_GAP), "GST_BUFFER_FLAG_GAP", "gap" },
-    { C_FLAGS(GST_BUFFER_FLAG_DELTA_UNIT), "GST_BUFFER_FLAG_DELTA_UNIT", "delta-unit" },
-    { C_FLAGS(GST_BUFFER_FLAG_MEDIA1), "GST_BUFFER_FLAG_MEDIA1", "media1" },
-    { C_FLAGS(GST_BUFFER_FLAG_MEDIA2), "GST_BUFFER_FLAG_MEDIA2", "media2" },
-    { C_FLAGS(GST_BUFFER_FLAG_MEDIA3), "GST_BUFFER_FLAG_MEDIA3", "media3" },
-    { C_FLAGS(GST_BUFFER_FLAG_LAST), "GST_BUFFER_FLAG_LAST", "last" },
+    { C_FLAGS(GST_BUFFER_COPY_FLAGS), "GST_BUFFER_COPY_FLAGS", "flags" },
+    { C_FLAGS(GST_BUFFER_COPY_TIMESTAMPS), "GST_BUFFER_COPY_TIMESTAMPS", "timestamps" },
+    { C_FLAGS(GST_BUFFER_COPY_CAPS), "GST_BUFFER_COPY_CAPS", "caps" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstBufferFlag", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_flags_register_static ("GstBufferCopyFlags", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -90,47 +104,24 @@
 GType
 gst_buffer_copy_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_BUFFER_COPY_FLAGS), "GST_BUFFER_COPY_FLAGS", "flags" },
-    { C_FLAGS(GST_BUFFER_COPY_TIMESTAMPS), "GST_BUFFER_COPY_TIMESTAMPS", "timestamps" },
-    { C_FLAGS(GST_BUFFER_COPY_CAPS), "GST_BUFFER_COPY_CAPS", "caps" },
-    { 0, NULL, NULL }
-  };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstBufferCopyFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
-}
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-/* enumerations from "gstbufferlist.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_buffer_list_item_get_type (void)
-{
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_BUFFER_LIST_CONTINUE), "GST_BUFFER_LIST_CONTINUE", "continue" },
-    { C_ENUM(GST_BUFFER_LIST_SKIP_GROUP), "GST_BUFFER_LIST_SKIP_GROUP", "skip-group" },
-    { C_ENUM(GST_BUFFER_LIST_END), "GST_BUFFER_LIST_END", "end" },
-    { 0, NULL, NULL }
-  };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstBufferListItem", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_buffer_copy_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstbus.h" */
+static void
+register_gst_bus_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_BUS_FLUSHING), "GST_BUS_FLUSHING", "flushing" },
+    { C_FLAGS(GST_BUS_FLAG_LAST), "GST_BUS_FLAG_LAST", "flag-last" },
+    { 0, NULL, NULL }
+  };
+  *id = g_flags_register_static ("GstBusFlags", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -138,19 +129,22 @@
 GType
 gst_bus_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_BUS_FLUSHING), "GST_BUS_FLUSHING", "flushing" },
-    { C_FLAGS(GST_BUS_FLAG_LAST), "GST_BUS_FLAG_LAST", "flag-last" },
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_bus_flags, &id);
+  return id;
+}
+static void
+register_gst_bus_sync_reply (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_BUS_DROP), "GST_BUS_DROP", "drop" },
+    { C_ENUM(GST_BUS_PASS), "GST_BUS_PASS", "pass" },
+    { C_ENUM(GST_BUS_ASYNC), "GST_BUS_ASYNC", "async" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstBusFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstBusSyncReply", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -159,23 +153,23 @@
 GType
 gst_bus_sync_reply_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_BUS_DROP), "GST_BUS_DROP", "drop" },
-    { C_ENUM(GST_BUS_PASS), "GST_BUS_PASS", "pass" },
-    { C_ENUM(GST_BUS_ASYNC), "GST_BUS_ASYNC", "async" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstBusSyncReply", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_bus_sync_reply, &id);
+  return id;
 }
 
 /* enumerations from "gstcaps.h" */
+static void
+register_gst_caps_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_CAPS_FLAGS_ANY), "GST_CAPS_FLAGS_ANY", "any" },
+    { 0, NULL, NULL }
+  };
+  *id = g_flags_register_static ("GstCapsFlags", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -183,29 +177,17 @@
 GType
 gst_caps_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_CAPS_FLAGS_ANY), "GST_CAPS_FLAGS_ANY", "any" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstCapsFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_caps_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstclock.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_clock_return_get_type (void)
+static void
+register_gst_clock_return (GType* id)
 {
-  static gsize id = 0;
   static const GEnumValue values[] = {
     { C_ENUM(GST_CLOCK_OK), "GST_CLOCK_OK", "ok" },
     { C_ENUM(GST_CLOCK_EARLY), "GST_CLOCK_EARLY", "early" },
@@ -216,13 +198,30 @@
     { C_ENUM(GST_CLOCK_UNSUPPORTED), "GST_CLOCK_UNSUPPORTED", "unsupported" },
     { 0, NULL, NULL }
   };
+  *id = g_enum_register_static ("GstClockReturn", values);
+}
+#ifdef __SYMBIAN32__
+EXPORT_C
+#endif
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstClockReturn", values);
-    g_once_init_leave (&id, tmp);
-  }
+GType
+gst_clock_return_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_clock_return, &id);
+  return id;
+}
+static void
+register_gst_clock_entry_type (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_CLOCK_ENTRY_SINGLE), "GST_CLOCK_ENTRY_SINGLE", "single" },
+    { C_ENUM(GST_CLOCK_ENTRY_PERIODIC), "GST_CLOCK_ENTRY_PERIODIC", "periodic" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstClockEntryType", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -231,28 +230,15 @@
 GType
 gst_clock_entry_type_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_CLOCK_ENTRY_SINGLE), "GST_CLOCK_ENTRY_SINGLE", "single" },
-    { C_ENUM(GST_CLOCK_ENTRY_PERIODIC), "GST_CLOCK_ENTRY_PERIODIC", "periodic" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstClockEntryType", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_clock_entry_type, &id);
+  return id;
 }
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_clock_flags_get_type (void)
+static void
+register_gst_clock_flags (GType* id)
 {
-  static gsize id = 0;
   static const GFlagsValue values[] = {
     { C_FLAGS(GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC), "GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC", "can-do-single-sync" },
     { C_FLAGS(GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC), "GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC", "can-do-single-async" },
@@ -263,24 +249,26 @@
     { C_FLAGS(GST_CLOCK_FLAG_LAST), "GST_CLOCK_FLAG_LAST", "last" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstClockFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_flags_register_static ("GstClockFlags", values);
 }
-
-/* enumerations from "gstdebugutils.h" */
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
 
 GType
-gst_debug_graph_details_get_type (void)
+gst_clock_flags_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_clock_flags, &id);
+  return id;
+}
+
+/* enumerations from "gstdebugutils.h" */
+static void
+register_gst_debug_graph_details (GType* id)
+{
   static const GFlagsValue values[] = {
     { C_FLAGS(GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE), "GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE", "media-type" },
     { C_FLAGS(GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS), "GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS", "caps-details" },
@@ -289,24 +277,26 @@
     { C_FLAGS(GST_DEBUG_GRAPH_SHOW_ALL), "GST_DEBUG_GRAPH_SHOW_ALL", "all" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstDebugGraphDetails", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_flags_register_static ("GstDebugGraphDetails", values);
 }
-
-/* enumerations from "gstelement.h" */
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
 
 GType
-gst_state_get_type (void)
+gst_debug_graph_details_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_debug_graph_details, &id);
+  return id;
+}
+
+/* enumerations from "gstelement.h" */
+static void
+register_gst_state (GType* id)
+{
   static const GEnumValue values[] = {
     { C_ENUM(GST_STATE_VOID_PENDING), "GST_STATE_VOID_PENDING", "void-pending" },
     { C_ENUM(GST_STATE_NULL), "GST_STATE_NULL", "null" },
@@ -315,13 +305,32 @@
     { C_ENUM(GST_STATE_PLAYING), "GST_STATE_PLAYING", "playing" },
     { 0, NULL, NULL }
   };
+  *id = g_enum_register_static ("GstState", values);
+}
+#ifdef __SYMBIAN32__
+EXPORT_C
+#endif
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstState", values);
-    g_once_init_leave (&id, tmp);
-  }
+GType
+gst_state_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_state, &id);
+  return id;
+}
+static void
+register_gst_state_change_return (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_STATE_CHANGE_FAILURE), "GST_STATE_CHANGE_FAILURE", "failure" },
+    { C_ENUM(GST_STATE_CHANGE_SUCCESS), "GST_STATE_CHANGE_SUCCESS", "success" },
+    { C_ENUM(GST_STATE_CHANGE_ASYNC), "GST_STATE_CHANGE_ASYNC", "async" },
+    { C_ENUM(GST_STATE_CHANGE_NO_PREROLL), "GST_STATE_CHANGE_NO_PREROLL", "no-preroll" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstStateChangeReturn", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -330,30 +339,15 @@
 GType
 gst_state_change_return_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_STATE_CHANGE_FAILURE), "GST_STATE_CHANGE_FAILURE", "failure" },
-    { C_ENUM(GST_STATE_CHANGE_SUCCESS), "GST_STATE_CHANGE_SUCCESS", "success" },
-    { C_ENUM(GST_STATE_CHANGE_ASYNC), "GST_STATE_CHANGE_ASYNC", "async" },
-    { C_ENUM(GST_STATE_CHANGE_NO_PREROLL), "GST_STATE_CHANGE_NO_PREROLL", "no-preroll" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstStateChangeReturn", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_state_change_return, &id);
+  return id;
 }
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_state_change_get_type (void)
+static void
+register_gst_state_change (GType* id)
 {
-  static gsize id = 0;
   static const GEnumValue values[] = {
     { C_ENUM(GST_STATE_CHANGE_NULL_TO_READY), "GST_STATE_CHANGE_NULL_TO_READY", "null-to-ready" },
     { C_ENUM(GST_STATE_CHANGE_READY_TO_PAUSED), "GST_STATE_CHANGE_READY_TO_PAUSED", "ready-to-paused" },
@@ -363,13 +357,32 @@
     { C_ENUM(GST_STATE_CHANGE_READY_TO_NULL), "GST_STATE_CHANGE_READY_TO_NULL", "ready-to-null" },
     { 0, NULL, NULL }
   };
+  *id = g_enum_register_static ("GstStateChange", values);
+}
+#ifdef __SYMBIAN32__
+EXPORT_C
+#endif
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstStateChange", values);
-    g_once_init_leave (&id, tmp);
-  }
+GType
+gst_state_change_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_state_change, &id);
+  return id;
+}
+static void
+register_gst_element_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_ELEMENT_LOCKED_STATE), "GST_ELEMENT_LOCKED_STATE", "locked-state" },
+    { C_FLAGS(GST_ELEMENT_IS_SINK), "GST_ELEMENT_IS_SINK", "is-sink" },
+    { C_FLAGS(GST_ELEMENT_UNPARENTING), "GST_ELEMENT_UNPARENTING", "unparenting" },
+    { C_FLAGS(GST_ELEMENT_FLAG_LAST), "GST_ELEMENT_FLAG_LAST", "flag-last" },
+    { 0, NULL, NULL }
+  };
+  *id = g_flags_register_static ("GstElementFlags", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -378,32 +391,17 @@
 GType
 gst_element_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_ELEMENT_LOCKED_STATE), "GST_ELEMENT_LOCKED_STATE", "locked-state" },
-    { C_FLAGS(GST_ELEMENT_IS_SINK), "GST_ELEMENT_IS_SINK", "is-sink" },
-    { C_FLAGS(GST_ELEMENT_UNPARENTING), "GST_ELEMENT_UNPARENTING", "unparenting" },
-    { C_FLAGS(GST_ELEMENT_FLAG_LAST), "GST_ELEMENT_FLAG_LAST", "flag-last" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstElementFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_element_flags, &id);
+  return id;
 }
 
 /* enumerations from "gsterror.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_core_error_get_type (void)
+static void
+register_gst_core_error (GType* id)
 {
-  static gsize id = 0;
   static const GEnumValue values[] = {
     { C_ENUM(GST_CORE_ERROR_FAILED), "GST_CORE_ERROR_FAILED", "failed" },
     { C_ENUM(GST_CORE_ERROR_TOO_LAZY), "GST_CORE_ERROR_TOO_LAZY", "too-lazy" },
@@ -422,22 +420,24 @@
     { C_ENUM(GST_CORE_ERROR_NUM_ERRORS), "GST_CORE_ERROR_NUM_ERRORS", "num-errors" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstCoreError", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstCoreError", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
 
 GType
-gst_library_error_get_type (void)
+gst_core_error_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_core_error, &id);
+  return id;
+}
+static void
+register_gst_library_error (GType* id)
+{
   static const GEnumValue values[] = {
     { C_ENUM(GST_LIBRARY_ERROR_FAILED), "GST_LIBRARY_ERROR_FAILED", "failed" },
     { C_ENUM(GST_LIBRARY_ERROR_TOO_LAZY), "GST_LIBRARY_ERROR_TOO_LAZY", "too-lazy" },
@@ -448,22 +448,24 @@
     { C_ENUM(GST_LIBRARY_ERROR_NUM_ERRORS), "GST_LIBRARY_ERROR_NUM_ERRORS", "num-errors" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstLibraryError", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstLibraryError", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
 
 GType
-gst_resource_error_get_type (void)
+gst_library_error_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_library_error, &id);
+  return id;
+}
+static void
+register_gst_resource_error (GType* id)
+{
   static const GEnumValue values[] = {
     { C_ENUM(GST_RESOURCE_ERROR_FAILED), "GST_RESOURCE_ERROR_FAILED", "failed" },
     { C_ENUM(GST_RESOURCE_ERROR_TOO_LAZY), "GST_RESOURCE_ERROR_TOO_LAZY", "too-lazy" },
@@ -482,22 +484,24 @@
     { C_ENUM(GST_RESOURCE_ERROR_NUM_ERRORS), "GST_RESOURCE_ERROR_NUM_ERRORS", "num-errors" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstResourceError", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstResourceError", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
 
 GType
-gst_stream_error_get_type (void)
+gst_resource_error_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_resource_error, &id);
+  return id;
+}
+static void
+register_gst_stream_error (GType* id)
+{
   static const GEnumValue values[] = {
     { C_ENUM(GST_STREAM_ERROR_FAILED), "GST_STREAM_ERROR_FAILED", "failed" },
     { C_ENUM(GST_STREAM_ERROR_TOO_LAZY), "GST_STREAM_ERROR_TOO_LAZY", "too-lazy" },
@@ -510,21 +514,37 @@
     { C_ENUM(GST_STREAM_ERROR_DEMUX), "GST_STREAM_ERROR_DEMUX", "demux" },
     { C_ENUM(GST_STREAM_ERROR_MUX), "GST_STREAM_ERROR_MUX", "mux" },
     { C_ENUM(GST_STREAM_ERROR_FORMAT), "GST_STREAM_ERROR_FORMAT", "format" },
-    { C_ENUM(GST_STREAM_ERROR_DECRYPT), "GST_STREAM_ERROR_DECRYPT", "decrypt" },
-    { C_ENUM(GST_STREAM_ERROR_DECRYPT_NOKEY), "GST_STREAM_ERROR_DECRYPT_NOKEY", "decrypt-nokey" },
     { C_ENUM(GST_STREAM_ERROR_NUM_ERRORS), "GST_STREAM_ERROR_NUM_ERRORS", "num-errors" },
     { 0, NULL, NULL }
   };
+  *id = g_enum_register_static ("GstStreamError", values);
+}
+#ifdef __SYMBIAN32__
+EXPORT_C
+#endif
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstStreamError", values);
-    g_once_init_leave (&id, tmp);
-  }
+GType
+gst_stream_error_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_stream_error, &id);
+  return id;
 }
 
 /* enumerations from "gstevent.h" */
+static void
+register_gst_event_type_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_EVENT_TYPE_UPSTREAM), "GST_EVENT_TYPE_UPSTREAM", "upstream" },
+    { C_FLAGS(GST_EVENT_TYPE_DOWNSTREAM), "GST_EVENT_TYPE_DOWNSTREAM", "downstream" },
+    { C_FLAGS(GST_EVENT_TYPE_SERIALIZED), "GST_EVENT_TYPE_SERIALIZED", "serialized" },
+    { 0, NULL, NULL }
+  };
+  *id = g_flags_register_static ("GstEventTypeFlags", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -532,29 +552,15 @@
 GType
 gst_event_type_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_EVENT_TYPE_UPSTREAM), "GST_EVENT_TYPE_UPSTREAM", "upstream" },
-    { C_FLAGS(GST_EVENT_TYPE_DOWNSTREAM), "GST_EVENT_TYPE_DOWNSTREAM", "downstream" },
-    { C_FLAGS(GST_EVENT_TYPE_SERIALIZED), "GST_EVENT_TYPE_SERIALIZED", "serialized" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstEventTypeFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_event_type_flags, &id);
+  return id;
 }
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_event_type_get_type (void)
+static void
+register_gst_event_type (GType* id)
 {
-  static gsize id = 0;
   static const GEnumValue values[] = {
     { C_ENUM(GST_EVENT_UNKNOWN), "GST_EVENT_UNKNOWN", "unknown" },
     { C_ENUM(GST_EVENT_FLUSH_START), "GST_EVENT_FLUSH_START", "flush-start" },
@@ -567,7 +573,6 @@
     { C_ENUM(GST_EVENT_SEEK), "GST_EVENT_SEEK", "seek" },
     { C_ENUM(GST_EVENT_NAVIGATION), "GST_EVENT_NAVIGATION", "navigation" },
     { C_ENUM(GST_EVENT_LATENCY), "GST_EVENT_LATENCY", "latency" },
-    { C_ENUM(GST_EVENT_STEP), "GST_EVENT_STEP", "step" },
     { C_ENUM(GST_EVENT_CUSTOM_UPSTREAM), "GST_EVENT_CUSTOM_UPSTREAM", "custom-upstream" },
     { C_ENUM(GST_EVENT_CUSTOM_DOWNSTREAM), "GST_EVENT_CUSTOM_DOWNSTREAM", "custom-downstream" },
     { C_ENUM(GST_EVENT_CUSTOM_DOWNSTREAM_OOB), "GST_EVENT_CUSTOM_DOWNSTREAM_OOB", "custom-downstream-oob" },
@@ -575,13 +580,32 @@
     { C_ENUM(GST_EVENT_CUSTOM_BOTH_OOB), "GST_EVENT_CUSTOM_BOTH_OOB", "custom-both-oob" },
     { 0, NULL, NULL }
   };
+  *id = g_enum_register_static ("GstEventType", values);
+}
+#ifdef __SYMBIAN32__
+EXPORT_C
+#endif
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstEventType", values);
-    g_once_init_leave (&id, tmp);
-  }
+GType
+gst_event_type_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_event_type, &id);
+  return id;
+}
+static void
+register_gst_seek_type (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_SEEK_TYPE_NONE), "GST_SEEK_TYPE_NONE", "none" },
+    { C_ENUM(GST_SEEK_TYPE_CUR), "GST_SEEK_TYPE_CUR", "cur" },
+    { C_ENUM(GST_SEEK_TYPE_SET), "GST_SEEK_TYPE_SET", "set" },
+    { C_ENUM(GST_SEEK_TYPE_END), "GST_SEEK_TYPE_END", "end" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstSeekType", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -590,21 +614,24 @@
 GType
 gst_seek_type_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_SEEK_TYPE_NONE), "GST_SEEK_TYPE_NONE", "none" },
-    { C_ENUM(GST_SEEK_TYPE_CUR), "GST_SEEK_TYPE_CUR", "cur" },
-    { C_ENUM(GST_SEEK_TYPE_SET), "GST_SEEK_TYPE_SET", "set" },
-    { C_ENUM(GST_SEEK_TYPE_END), "GST_SEEK_TYPE_END", "end" },
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_seek_type, &id);
+  return id;
+}
+static void
+register_gst_seek_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_SEEK_FLAG_NONE), "GST_SEEK_FLAG_NONE", "none" },
+    { C_FLAGS(GST_SEEK_FLAG_FLUSH), "GST_SEEK_FLAG_FLUSH", "flush" },
+    { C_FLAGS(GST_SEEK_FLAG_ACCURATE), "GST_SEEK_FLAG_ACCURATE", "accurate" },
+    { C_FLAGS(GST_SEEK_FLAG_KEY_UNIT), "GST_SEEK_FLAG_KEY_UNIT", "key-unit" },
+    { C_FLAGS(GST_SEEK_FLAG_SEGMENT), "GST_SEEK_FLAG_SEGMENT", "segment" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstSeekType", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_flags_register_static ("GstSeekFlags", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -613,34 +640,17 @@
 GType
 gst_seek_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_SEEK_FLAG_NONE), "GST_SEEK_FLAG_NONE", "none" },
-    { C_FLAGS(GST_SEEK_FLAG_FLUSH), "GST_SEEK_FLAG_FLUSH", "flush" },
-    { C_FLAGS(GST_SEEK_FLAG_ACCURATE), "GST_SEEK_FLAG_ACCURATE", "accurate" },
-    { C_FLAGS(GST_SEEK_FLAG_KEY_UNIT), "GST_SEEK_FLAG_KEY_UNIT", "key-unit" },
-    { C_FLAGS(GST_SEEK_FLAG_SEGMENT), "GST_SEEK_FLAG_SEGMENT", "segment" },
-    { C_FLAGS(GST_SEEK_FLAG_SKIP), "GST_SEEK_FLAG_SKIP", "skip" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstSeekFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_seek_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstformat.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_format_get_type (void)
+static void
+register_gst_format (GType* id)
 {
-  static gsize id = 0;
   static const GEnumValue values[] = {
     { C_ENUM(GST_FORMAT_UNDEFINED), "GST_FORMAT_UNDEFINED", "undefined" },
     { C_ENUM(GST_FORMAT_DEFAULT), "GST_FORMAT_DEFAULT", "default" },
@@ -650,16 +660,34 @@
     { C_ENUM(GST_FORMAT_PERCENT), "GST_FORMAT_PERCENT", "percent" },
     { 0, NULL, NULL }
   };
+  *id = g_enum_register_static ("GstFormat", values);
+}
+#ifdef __SYMBIAN32__
+EXPORT_C
+#endif
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstFormat", values);
-    g_once_init_leave (&id, tmp);
-  }
+GType
+gst_format_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_format, &id);
+  return id;
 }
 
 /* enumerations from "gstindex.h" */
+static void
+register_gst_index_certainty (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_INDEX_UNKNOWN), "GST_INDEX_UNKNOWN", "unknown" },
+    { C_ENUM(GST_INDEX_CERTAIN), "GST_INDEX_CERTAIN", "certain" },
+    { C_ENUM(GST_INDEX_FUZZY), "GST_INDEX_FUZZY", "fuzzy" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstIndexCertainty", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -667,20 +695,23 @@
 GType
 gst_index_certainty_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_index_certainty, &id);
+  return id;
+}
+static void
+register_gst_index_entry_type (GType* id)
+{
   static const GEnumValue values[] = {
-    { C_ENUM(GST_INDEX_UNKNOWN), "GST_INDEX_UNKNOWN", "unknown" },
-    { C_ENUM(GST_INDEX_CERTAIN), "GST_INDEX_CERTAIN", "certain" },
-    { C_ENUM(GST_INDEX_FUZZY), "GST_INDEX_FUZZY", "fuzzy" },
+    { C_ENUM(GST_INDEX_ENTRY_ID), "GST_INDEX_ENTRY_ID", "id" },
+    { C_ENUM(GST_INDEX_ENTRY_ASSOCIATION), "GST_INDEX_ENTRY_ASSOCIATION", "association" },
+    { C_ENUM(GST_INDEX_ENTRY_OBJECT), "GST_INDEX_ENTRY_OBJECT", "object" },
+    { C_ENUM(GST_INDEX_ENTRY_FORMAT), "GST_INDEX_ENTRY_FORMAT", "format" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstIndexCertainty", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstIndexEntryType", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -689,21 +720,22 @@
 GType
 gst_index_entry_type_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_index_entry_type, &id);
+  return id;
+}
+static void
+register_gst_index_lookup_method (GType* id)
+{
   static const GEnumValue values[] = {
-    { C_ENUM(GST_INDEX_ENTRY_ID), "GST_INDEX_ENTRY_ID", "id" },
-    { C_ENUM(GST_INDEX_ENTRY_ASSOCIATION), "GST_INDEX_ENTRY_ASSOCIATION", "association" },
-    { C_ENUM(GST_INDEX_ENTRY_OBJECT), "GST_INDEX_ENTRY_OBJECT", "object" },
-    { C_ENUM(GST_INDEX_ENTRY_FORMAT), "GST_INDEX_ENTRY_FORMAT", "format" },
+    { C_ENUM(GST_INDEX_LOOKUP_EXACT), "GST_INDEX_LOOKUP_EXACT", "exact" },
+    { C_ENUM(GST_INDEX_LOOKUP_BEFORE), "GST_INDEX_LOOKUP_BEFORE", "before" },
+    { C_ENUM(GST_INDEX_LOOKUP_AFTER), "GST_INDEX_LOOKUP_AFTER", "after" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstIndexEntryType", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstIndexLookupMethod", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -712,20 +744,23 @@
 GType
 gst_index_lookup_method_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_INDEX_LOOKUP_EXACT), "GST_INDEX_LOOKUP_EXACT", "exact" },
-    { C_ENUM(GST_INDEX_LOOKUP_BEFORE), "GST_INDEX_LOOKUP_BEFORE", "before" },
-    { C_ENUM(GST_INDEX_LOOKUP_AFTER), "GST_INDEX_LOOKUP_AFTER", "after" },
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_index_lookup_method, &id);
+  return id;
+}
+static void
+register_gst_assoc_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_ASSOCIATION_FLAG_NONE), "GST_ASSOCIATION_FLAG_NONE", "none" },
+    { C_FLAGS(GST_ASSOCIATION_FLAG_KEY_UNIT), "GST_ASSOCIATION_FLAG_KEY_UNIT", "key-unit" },
+    { C_FLAGS(GST_ASSOCIATION_FLAG_DELTA_UNIT), "GST_ASSOCIATION_FLAG_DELTA_UNIT", "delta-unit" },
+    { C_FLAGS(GST_ASSOCIATION_FLAG_LAST), "GST_ASSOCIATION_FLAG_LAST", "last" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstIndexLookupMethod", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_flags_register_static ("GstAssocFlags", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -734,21 +769,22 @@
 GType
 gst_assoc_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_ASSOCIATION_FLAG_NONE), "GST_ASSOCIATION_FLAG_NONE", "none" },
-    { C_FLAGS(GST_ASSOCIATION_FLAG_KEY_UNIT), "GST_ASSOCIATION_FLAG_KEY_UNIT", "key-unit" },
-    { C_FLAGS(GST_ASSOCIATION_FLAG_DELTA_UNIT), "GST_ASSOCIATION_FLAG_DELTA_UNIT", "delta-unit" },
-    { C_FLAGS(GST_ASSOCIATION_FLAG_LAST), "GST_ASSOCIATION_FLAG_LAST", "last" },
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_assoc_flags, &id);
+  return id;
+}
+static void
+register_gst_index_resolver_method (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_INDEX_RESOLVER_CUSTOM), "GST_INDEX_RESOLVER_CUSTOM", "custom" },
+    { C_ENUM(GST_INDEX_RESOLVER_GTYPE), "GST_INDEX_RESOLVER_GTYPE", "gtype" },
+    { C_ENUM(GST_INDEX_RESOLVER_PATH), "GST_INDEX_RESOLVER_PATH", "path" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstAssocFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstIndexResolverMethod", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -757,20 +793,22 @@
 GType
 gst_index_resolver_method_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_INDEX_RESOLVER_CUSTOM), "GST_INDEX_RESOLVER_CUSTOM", "custom" },
-    { C_ENUM(GST_INDEX_RESOLVER_GTYPE), "GST_INDEX_RESOLVER_GTYPE", "gtype" },
-    { C_ENUM(GST_INDEX_RESOLVER_PATH), "GST_INDEX_RESOLVER_PATH", "path" },
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_index_resolver_method, &id);
+  return id;
+}
+static void
+register_gst_index_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_INDEX_WRITABLE), "GST_INDEX_WRITABLE", "writable" },
+    { C_FLAGS(GST_INDEX_READABLE), "GST_INDEX_READABLE", "readable" },
+    { C_FLAGS(GST_INDEX_FLAG_LAST), "GST_INDEX_FLAG_LAST", "flag-last" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstIndexResolverMethod", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_flags_register_static ("GstIndexFlags", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -779,23 +817,29 @@
 GType
 gst_index_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_INDEX_WRITABLE), "GST_INDEX_WRITABLE", "writable" },
-    { C_FLAGS(GST_INDEX_READABLE), "GST_INDEX_READABLE", "readable" },
-    { C_FLAGS(GST_INDEX_FLAG_LAST), "GST_INDEX_FLAG_LAST", "flag-last" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstIndexFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_index_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstinfo.h" */
+static void
+register_gst_debug_level (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_LEVEL_NONE), "GST_LEVEL_NONE", "none" },
+    { C_ENUM(GST_LEVEL_ERROR), "GST_LEVEL_ERROR", "error" },
+    { C_ENUM(GST_LEVEL_WARNING), "GST_LEVEL_WARNING", "warning" },
+    { C_ENUM(GST_LEVEL_INFO), "GST_LEVEL_INFO", "info" },
+    { C_ENUM(GST_LEVEL_DEBUG), "GST_LEVEL_DEBUG", "debug" },
+    { C_ENUM(GST_LEVEL_LOG), "GST_LEVEL_LOG", "log" },
+    { C_ENUM(GST_LEVEL_COUNT), "GST_LEVEL_COUNT", "count" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstDebugLevel", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -803,35 +847,15 @@
 GType
 gst_debug_level_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_LEVEL_NONE), "GST_LEVEL_NONE", "none" },
-    { C_ENUM(GST_LEVEL_ERROR), "GST_LEVEL_ERROR", "error" },
-    { C_ENUM(GST_LEVEL_WARNING), "GST_LEVEL_WARNING", "warning" },
-    { C_ENUM(GST_LEVEL_INFO), "GST_LEVEL_INFO", "info" },
-    { C_ENUM(GST_LEVEL_DEBUG), "GST_LEVEL_DEBUG", "debug" },
-    { C_ENUM(GST_LEVEL_LOG), "GST_LEVEL_LOG", "log" },
-    { C_ENUM(GST_LEVEL_FIXME), "GST_LEVEL_FIXME", "fixme" },
-    { C_ENUM(GST_LEVEL_MEMDUMP), "GST_LEVEL_MEMDUMP", "memdump" },
-    { C_ENUM(GST_LEVEL_COUNT), "GST_LEVEL_COUNT", "count" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstDebugLevel", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_debug_level, &id);
+  return id;
 }
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_debug_color_flags_get_type (void)
+static void
+register_gst_debug_color_flags (GType* id)
 {
-  static gsize id = 0;
   static const GEnumValue values[] = {
     { C_ENUM(GST_DEBUG_FG_BLACK), "GST_DEBUG_FG_BLACK", "fg-black" },
     { C_ENUM(GST_DEBUG_FG_RED), "GST_DEBUG_FG_RED", "fg-red" },
@@ -853,16 +877,35 @@
     { C_ENUM(GST_DEBUG_UNDERLINE), "GST_DEBUG_UNDERLINE", "underline" },
     { 0, NULL, NULL }
   };
+  *id = g_enum_register_static ("GstDebugColorFlags", values);
+}
+#ifdef __SYMBIAN32__
+EXPORT_C
+#endif
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstDebugColorFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
+GType
+gst_debug_color_flags_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_debug_color_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstiterator.h" */
+static void
+register_gst_iterator_result (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_ITERATOR_DONE), "GST_ITERATOR_DONE", "done" },
+    { C_ENUM(GST_ITERATOR_OK), "GST_ITERATOR_OK", "ok" },
+    { C_ENUM(GST_ITERATOR_RESYNC), "GST_ITERATOR_RESYNC", "resync" },
+    { C_ENUM(GST_ITERATOR_ERROR), "GST_ITERATOR_ERROR", "error" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstIteratorResult", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -870,21 +913,22 @@
 GType
 gst_iterator_result_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_iterator_result, &id);
+  return id;
+}
+static void
+register_gst_iterator_item (GType* id)
+{
   static const GEnumValue values[] = {
-    { C_ENUM(GST_ITERATOR_DONE), "GST_ITERATOR_DONE", "done" },
-    { C_ENUM(GST_ITERATOR_OK), "GST_ITERATOR_OK", "ok" },
-    { C_ENUM(GST_ITERATOR_RESYNC), "GST_ITERATOR_RESYNC", "resync" },
-    { C_ENUM(GST_ITERATOR_ERROR), "GST_ITERATOR_ERROR", "error" },
+    { C_ENUM(GST_ITERATOR_ITEM_SKIP), "GST_ITERATOR_ITEM_SKIP", "skip" },
+    { C_ENUM(GST_ITERATOR_ITEM_PASS), "GST_ITERATOR_ITEM_PASS", "pass" },
+    { C_ENUM(GST_ITERATOR_ITEM_END), "GST_ITERATOR_ITEM_END", "end" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstIteratorResult", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstIteratorItem", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -893,31 +937,17 @@
 GType
 gst_iterator_item_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_ITERATOR_ITEM_SKIP), "GST_ITERATOR_ITEM_SKIP", "skip" },
-    { C_ENUM(GST_ITERATOR_ITEM_PASS), "GST_ITERATOR_ITEM_PASS", "pass" },
-    { C_ENUM(GST_ITERATOR_ITEM_END), "GST_ITERATOR_ITEM_END", "end" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstIteratorItem", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_iterator_item, &id);
+  return id;
 }
 
 /* enumerations from "gstmessage.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_message_type_get_type (void)
+static void
+register_gst_message_type (GType* id)
 {
-  static gsize id = 0;
   static const GFlagsValue values[] = {
     { C_FLAGS(GST_MESSAGE_UNKNOWN), "GST_MESSAGE_UNKNOWN", "unknown" },
     { C_FLAGS(GST_MESSAGE_EOS), "GST_MESSAGE_EOS", "eos" },
@@ -942,68 +972,36 @@
     { C_FLAGS(GST_MESSAGE_LATENCY), "GST_MESSAGE_LATENCY", "latency" },
     { C_FLAGS(GST_MESSAGE_ASYNC_START), "GST_MESSAGE_ASYNC_START", "async-start" },
     { C_FLAGS(GST_MESSAGE_ASYNC_DONE), "GST_MESSAGE_ASYNC_DONE", "async-done" },
-    { C_FLAGS(GST_MESSAGE_REQUEST_STATE), "GST_MESSAGE_REQUEST_STATE", "request-state" },
-    { C_FLAGS(GST_MESSAGE_STEP_START), "GST_MESSAGE_STEP_START", "step-start" },
     { C_FLAGS(GST_MESSAGE_ANY), "GST_MESSAGE_ANY", "any" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstMessageType", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_flags_register_static ("GstMessageType", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
 
 GType
-gst_structure_change_type_get_type (void)
+gst_message_type_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_STRUCTURE_CHANGE_TYPE_PAD_LINK), "GST_STRUCTURE_CHANGE_TYPE_PAD_LINK", "link" },
-    { C_ENUM(GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK), "GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK", "unlink" },
-    { 0, NULL, NULL }
-  };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstStructureChangeType", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
-}
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-GType
-gst_stream_status_type_get_type (void)
-{
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_STREAM_STATUS_TYPE_CREATE), "GST_STREAM_STATUS_TYPE_CREATE", "create" },
-    { C_ENUM(GST_STREAM_STATUS_TYPE_ENTER), "GST_STREAM_STATUS_TYPE_ENTER", "enter" },
-    { C_ENUM(GST_STREAM_STATUS_TYPE_LEAVE), "GST_STREAM_STATUS_TYPE_LEAVE", "leave" },
-    { C_ENUM(GST_STREAM_STATUS_TYPE_DESTROY), "GST_STREAM_STATUS_TYPE_DESTROY", "destroy" },
-    { C_ENUM(GST_STREAM_STATUS_TYPE_START), "GST_STREAM_STATUS_TYPE_START", "start" },
-    { C_ENUM(GST_STREAM_STATUS_TYPE_PAUSE), "GST_STREAM_STATUS_TYPE_PAUSE", "pause" },
-    { C_ENUM(GST_STREAM_STATUS_TYPE_STOP), "GST_STREAM_STATUS_TYPE_STOP", "stop" },
-    { 0, NULL, NULL }
-  };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstStreamStatusType", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_message_type, &id);
+  return id;
 }
 
 /* enumerations from "gstminiobject.h" */
+static void
+register_gst_mini_object_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_MINI_OBJECT_FLAG_READONLY), "GST_MINI_OBJECT_FLAG_READONLY", "readonly" },
+    { C_FLAGS(GST_MINI_OBJECT_FLAG_LAST), "GST_MINI_OBJECT_FLAG_LAST", "last" },
+    { 0, NULL, NULL }
+  };
+  *id = g_flags_register_static ("GstMiniObjectFlags", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -1011,30 +1009,17 @@
 GType
 gst_mini_object_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_MINI_OBJECT_FLAG_READONLY), "GST_MINI_OBJECT_FLAG_READONLY", "readonly" },
-    { C_FLAGS(GST_MINI_OBJECT_FLAG_LAST), "GST_MINI_OBJECT_FLAG_LAST", "last" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstMiniObjectFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_mini_object_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstpad.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_pad_link_return_get_type (void)
+static void
+register_gst_pad_link_return (GType* id)
 {
-  static gsize id = 0;
   static const GEnumValue values[] = {
     { C_ENUM(GST_PAD_LINK_OK), "GST_PAD_LINK_OK", "ok" },
     { C_ENUM(GST_PAD_LINK_WRONG_HIERARCHY), "GST_PAD_LINK_WRONG_HIERARCHY", "wrong-hierarchy" },
@@ -1045,22 +1030,24 @@
     { C_ENUM(GST_PAD_LINK_REFUSED), "GST_PAD_LINK_REFUSED", "refused" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstPadLinkReturn", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstPadLinkReturn", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
 
 GType
-gst_flow_return_get_type (void)
+gst_pad_link_return_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_pad_link_return, &id);
+  return id;
+}
+static void
+register_gst_flow_return (GType* id)
+{
   static const GEnumValue values[] = {
     { C_ENUM(GST_FLOW_CUSTOM_SUCCESS), "GST_FLOW_CUSTOM_SUCCESS", "custom-success" },
     { C_ENUM(GST_FLOW_RESEND), "GST_FLOW_RESEND", "resend" },
@@ -1074,13 +1061,31 @@
     { C_ENUM(GST_FLOW_CUSTOM_ERROR), "GST_FLOW_CUSTOM_ERROR", "custom-error" },
     { 0, NULL, NULL }
   };
+  *id = g_enum_register_static ("GstFlowReturn", values);
+}
+#ifdef __SYMBIAN32__
+EXPORT_C
+#endif
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstFlowReturn", values);
-    g_once_init_leave (&id, tmp);
-  }
+GType
+gst_flow_return_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_flow_return, &id);
+  return id;
+}
+static void
+register_gst_activate_mode (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_ACTIVATE_NONE), "GST_ACTIVATE_NONE", "none" },
+    { C_ENUM(GST_ACTIVATE_PUSH), "GST_ACTIVATE_PUSH", "push" },
+    { C_ENUM(GST_ACTIVATE_PULL), "GST_ACTIVATE_PULL", "pull" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstActivateMode", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -1089,20 +1094,22 @@
 GType
 gst_activate_mode_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_activate_mode, &id);
+  return id;
+}
+static void
+register_gst_pad_direction (GType* id)
+{
   static const GEnumValue values[] = {
-    { C_ENUM(GST_ACTIVATE_NONE), "GST_ACTIVATE_NONE", "none" },
-    { C_ENUM(GST_ACTIVATE_PUSH), "GST_ACTIVATE_PUSH", "push" },
-    { C_ENUM(GST_ACTIVATE_PULL), "GST_ACTIVATE_PULL", "pull" },
+    { C_ENUM(GST_PAD_UNKNOWN), "GST_PAD_UNKNOWN", "unknown" },
+    { C_ENUM(GST_PAD_SRC), "GST_PAD_SRC", "src" },
+    { C_ENUM(GST_PAD_SINK), "GST_PAD_SINK", "sink" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstActivateMode", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstPadDirection", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -1111,29 +1118,15 @@
 GType
 gst_pad_direction_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_PAD_UNKNOWN), "GST_PAD_UNKNOWN", "unknown" },
-    { C_ENUM(GST_PAD_SRC), "GST_PAD_SRC", "src" },
-    { C_ENUM(GST_PAD_SINK), "GST_PAD_SINK", "sink" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstPadDirection", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_pad_direction, &id);
+  return id;
 }
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_pad_flags_get_type (void)
+static void
+register_gst_pad_flags (GType* id)
 {
-  static gsize id = 0;
   static const GFlagsValue values[] = {
     { C_FLAGS(GST_PAD_BLOCKED), "GST_PAD_BLOCKED", "blocked" },
     { C_FLAGS(GST_PAD_FLUSHING), "GST_PAD_FLUSHING", "flushing" },
@@ -1143,16 +1136,34 @@
     { C_FLAGS(GST_PAD_FLAG_LAST), "GST_PAD_FLAG_LAST", "flag-last" },
     { 0, NULL, NULL }
   };
+  *id = g_flags_register_static ("GstPadFlags", values);
+}
+#ifdef __SYMBIAN32__
+EXPORT_C
+#endif
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstPadFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
+GType
+gst_pad_flags_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_pad_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstpadtemplate.h" */
+static void
+register_gst_pad_presence (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_PAD_ALWAYS), "GST_PAD_ALWAYS", "always" },
+    { C_ENUM(GST_PAD_SOMETIMES), "GST_PAD_SOMETIMES", "sometimes" },
+    { C_ENUM(GST_PAD_REQUEST), "GST_PAD_REQUEST", "request" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstPadPresence", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -1160,20 +1171,21 @@
 GType
 gst_pad_presence_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_PAD_ALWAYS), "GST_PAD_ALWAYS", "always" },
-    { C_ENUM(GST_PAD_SOMETIMES), "GST_PAD_SOMETIMES", "sometimes" },
-    { C_ENUM(GST_PAD_REQUEST), "GST_PAD_REQUEST", "request" },
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_pad_presence, &id);
+  return id;
+}
+static void
+register_gst_pad_template_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_PAD_TEMPLATE_FIXED), "GST_PAD_TEMPLATE_FIXED", "fixed" },
+    { C_FLAGS(GST_PAD_TEMPLATE_FLAG_LAST), "GST_PAD_TEMPLATE_FLAG_LAST", "flag-last" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstPadPresence", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_flags_register_static ("GstPadTemplateFlags", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -1182,22 +1194,24 @@
 GType
 gst_pad_template_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_PAD_TEMPLATE_FIXED), "GST_PAD_TEMPLATE_FIXED", "fixed" },
-    { C_FLAGS(GST_PAD_TEMPLATE_FLAG_LAST), "GST_PAD_TEMPLATE_FLAG_LAST", "flag-last" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstPadTemplateFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_pad_template_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstpipeline.h" */
+static void
+register_gst_pipeline_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_PIPELINE_FLAG_FIXED_CLOCK), "GST_PIPELINE_FLAG_FIXED_CLOCK", "fixed-clock" },
+    { C_FLAGS(GST_PIPELINE_FLAG_LAST), "GST_PIPELINE_FLAG_LAST", "last" },
+    { 0, NULL, NULL }
+  };
+  *id = g_flags_register_static ("GstPipelineFlags", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -1205,22 +1219,25 @@
 GType
 gst_pipeline_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_PIPELINE_FLAG_FIXED_CLOCK), "GST_PIPELINE_FLAG_FIXED_CLOCK", "fixed-clock" },
-    { C_FLAGS(GST_PIPELINE_FLAG_LAST), "GST_PIPELINE_FLAG_LAST", "last" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstPipelineFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_pipeline_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstplugin.h" */
+static void
+register_gst_plugin_error (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_PLUGIN_ERROR_MODULE), "GST_PLUGIN_ERROR_MODULE", "module" },
+    { C_ENUM(GST_PLUGIN_ERROR_DEPENDENCIES), "GST_PLUGIN_ERROR_DEPENDENCIES", "dependencies" },
+    { C_ENUM(GST_PLUGIN_ERROR_NAME_MISMATCH), "GST_PLUGIN_ERROR_NAME_MISMATCH", "name-mismatch" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstPluginError", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -1228,20 +1245,20 @@
 GType
 gst_plugin_error_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_PLUGIN_ERROR_MODULE), "GST_PLUGIN_ERROR_MODULE", "module" },
-    { C_ENUM(GST_PLUGIN_ERROR_DEPENDENCIES), "GST_PLUGIN_ERROR_DEPENDENCIES", "dependencies" },
-    { C_ENUM(GST_PLUGIN_ERROR_NAME_MISMATCH), "GST_PLUGIN_ERROR_NAME_MISMATCH", "name-mismatch" },
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_plugin_error, &id);
+  return id;
+}
+static void
+register_gst_plugin_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_PLUGIN_FLAG_CACHED), "GST_PLUGIN_FLAG_CACHED", "cached" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstPluginError", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_flags_register_static ("GstPluginFlags", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
@@ -1250,44 +1267,26 @@
 GType
 gst_plugin_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_PLUGIN_FLAG_CACHED), "GST_PLUGIN_FLAG_CACHED", "cached" },
-    { 0, NULL, NULL }
-  };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstPluginFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
-}
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-GType
-gst_plugin_dependency_flags_get_type (void)
-{
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_PLUGIN_DEPENDENCY_FLAG_NONE), "GST_PLUGIN_DEPENDENCY_FLAG_NONE", "none" },
-    { C_FLAGS(GST_PLUGIN_DEPENDENCY_FLAG_RECURSE), "GST_PLUGIN_DEPENDENCY_FLAG_RECURSE", "recurse" },
-    { C_FLAGS(GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY), "GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY", "paths-are-default-only" },
-    { C_FLAGS(GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX), "GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX", "file-name-is-suffix" },
-    { 0, NULL, NULL }
-  };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstPluginDependencyFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_plugin_flags, &id);
+  return id;
 }
 
 /* enumerations from "gstpluginfeature.h" */
+static void
+register_gst_rank (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_RANK_NONE), "GST_RANK_NONE", "none" },
+    { C_ENUM(GST_RANK_MARGINAL), "GST_RANK_MARGINAL", "marginal" },
+    { C_ENUM(GST_RANK_SECONDARY), "GST_RANK_SECONDARY", "secondary" },
+    { C_ENUM(GST_RANK_PRIMARY), "GST_RANK_PRIMARY", "primary" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstRank", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -1295,32 +1294,17 @@
 GType
 gst_rank_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_RANK_NONE), "GST_RANK_NONE", "none" },
-    { C_ENUM(GST_RANK_MARGINAL), "GST_RANK_MARGINAL", "marginal" },
-    { C_ENUM(GST_RANK_SECONDARY), "GST_RANK_SECONDARY", "secondary" },
-    { C_ENUM(GST_RANK_PRIMARY), "GST_RANK_PRIMARY", "primary" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstRank", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_rank, &id);
+  return id;
 }
 
 /* enumerations from "gstquery.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_query_type_get_type (void)
+static void
+register_gst_query_type (GType* id)
 {
-  static gsize id = 0;
   static const GEnumValue values[] = {
     { C_ENUM(GST_QUERY_NONE), "GST_QUERY_NONE", "none" },
     { C_ENUM(GST_QUERY_POSITION), "GST_QUERY_POSITION", "position" },
@@ -1332,75 +1316,28 @@
     { C_ENUM(GST_QUERY_SEGMENT), "GST_QUERY_SEGMENT", "segment" },
     { C_ENUM(GST_QUERY_CONVERT), "GST_QUERY_CONVERT", "convert" },
     { C_ENUM(GST_QUERY_FORMATS), "GST_QUERY_FORMATS", "formats" },
-    { C_ENUM(GST_QUERY_BUFFERING), "GST_QUERY_BUFFERING", "buffering" },
-    { C_ENUM(GST_QUERY_CUSTOM), "GST_QUERY_CUSTOM", "custom" },
-    { C_ENUM(GST_QUERY_URI), "GST_QUERY_URI", "uri" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstQueryType", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstQueryType", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
 
 GType
-gst_buffering_mode_get_type (void)
+gst_query_type_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_BUFFERING_STREAM), "GST_BUFFERING_STREAM", "stream" },
-    { C_ENUM(GST_BUFFERING_DOWNLOAD), "GST_BUFFERING_DOWNLOAD", "download" },
-    { C_ENUM(GST_BUFFERING_TIMESHIFT), "GST_BUFFERING_TIMESHIFT", "timeshift" },
-    { C_ENUM(GST_BUFFERING_LIVE), "GST_BUFFERING_LIVE", "live" },
-    { 0, NULL, NULL }
-  };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstBufferingMode", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
-}
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-/* enumerations from "gstsystemclock.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_clock_type_get_type (void)
-{
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_CLOCK_TYPE_REALTIME), "GST_CLOCK_TYPE_REALTIME", "realtime" },
-    { C_ENUM(GST_CLOCK_TYPE_MONOTONIC), "GST_CLOCK_TYPE_MONOTONIC", "monotonic" },
-    { 0, NULL, NULL }
-  };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstClockType", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_query_type, &id);
+  return id;
 }
 
 /* enumerations from "gsttaglist.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_tag_merge_mode_get_type (void)
+static void
+register_gst_tag_merge_mode (GType* id)
 {
-  static gsize id = 0;
   static const GEnumValue values[] = {
     { C_ENUM(GST_TAG_MERGE_UNDEFINED), "GST_TAG_MERGE_UNDEFINED", "undefined" },
     { C_ENUM(GST_TAG_MERGE_REPLACE_ALL), "GST_TAG_MERGE_REPLACE_ALL", "replace-all" },
@@ -1412,22 +1349,24 @@
     { C_ENUM(GST_TAG_MERGE_COUNT), "GST_TAG_MERGE_COUNT", "count" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstTagMergeMode", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstTagMergeMode", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
 
 GType
-gst_tag_flag_get_type (void)
+gst_tag_merge_mode_get_type (void)
 {
-  static gsize id = 0;
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc)register_gst_tag_merge_mode, &id);
+  return id;
+}
+static void
+register_gst_tag_flag (GType* id)
+{
   static const GEnumValue values[] = {
     { C_ENUM(GST_TAG_FLAG_UNDEFINED), "GST_TAG_FLAG_UNDEFINED", "undefined" },
     { C_ENUM(GST_TAG_FLAG_META), "GST_TAG_FLAG_META", "meta" },
@@ -1436,16 +1375,34 @@
     { C_ENUM(GST_TAG_FLAG_COUNT), "GST_TAG_FLAG_COUNT", "count" },
     { 0, NULL, NULL }
   };
+  *id = g_enum_register_static ("GstTagFlag", values);
+}
+#ifdef __SYMBIAN32__
+EXPORT_C
+#endif
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstTagFlag", values);
-    g_once_init_leave (&id, tmp);
-  }
+GType
+gst_tag_flag_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_tag_flag, &id);
+  return id;
 }
 
 /* enumerations from "gsttask.h" */
+static void
+register_gst_task_state (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_TASK_STARTED), "GST_TASK_STARTED", "started" },
+    { C_ENUM(GST_TASK_STOPPED), "GST_TASK_STOPPED", "stopped" },
+    { C_ENUM(GST_TASK_PAUSED), "GST_TASK_PAUSED", "paused" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstTaskState", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -1453,23 +1410,24 @@
 GType
 gst_task_state_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_TASK_STARTED), "GST_TASK_STARTED", "started" },
-    { C_ENUM(GST_TASK_STOPPED), "GST_TASK_STOPPED", "stopped" },
-    { C_ENUM(GST_TASK_PAUSED), "GST_TASK_PAUSED", "paused" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstTaskState", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_task_state, &id);
+  return id;
 }
 
 /* enumerations from "gsttrace.h" */
+static void
+register_gst_alloc_trace_flags (GType* id)
+{
+  static const GFlagsValue values[] = {
+    { C_FLAGS(GST_ALLOC_TRACE_LIVE), "GST_ALLOC_TRACE_LIVE", "live" },
+    { C_FLAGS(GST_ALLOC_TRACE_MEM_LIVE), "GST_ALLOC_TRACE_MEM_LIVE", "mem-live" },
+    { 0, NULL, NULL }
+  };
+  *id = g_flags_register_static ("GstAllocTraceFlags", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -1477,30 +1435,17 @@
 GType
 gst_alloc_trace_flags_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_ALLOC_TRACE_LIVE), "GST_ALLOC_TRACE_LIVE", "live" },
-    { C_FLAGS(GST_ALLOC_TRACE_MEM_LIVE), "GST_ALLOC_TRACE_MEM_LIVE", "mem-live" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstAllocTraceFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_alloc_trace_flags, &id);
+  return id;
 }
 
 /* enumerations from "gsttypefind.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_type_find_probability_get_type (void)
+static void
+register_gst_type_find_probability (GType* id)
 {
-  static gsize id = 0;
   static const GEnumValue values[] = {
     { C_ENUM(GST_TYPE_FIND_MINIMUM), "GST_TYPE_FIND_MINIMUM", "minimum" },
     { C_ENUM(GST_TYPE_FIND_POSSIBLE), "GST_TYPE_FIND_POSSIBLE", "possible" },
@@ -1509,16 +1454,34 @@
     { C_ENUM(GST_TYPE_FIND_MAXIMUM), "GST_TYPE_FIND_MAXIMUM", "maximum" },
     { 0, NULL, NULL }
   };
+  *id = g_enum_register_static ("GstTypeFindProbability", values);
+}
+#ifdef __SYMBIAN32__
+EXPORT_C
+#endif
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstTypeFindProbability", values);
-    g_once_init_leave (&id, tmp);
-  }
+GType
+gst_type_find_probability_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_type_find_probability, &id);
+  return id;
 }
 
 /* enumerations from "gsturi.h" */
+static void
+register_gst_uri_type (GType* id)
+{
+  static const GEnumValue values[] = {
+    { C_ENUM(GST_URI_UNKNOWN), "GST_URI_UNKNOWN", "unknown" },
+    { C_ENUM(GST_URI_SINK), "GST_URI_SINK", "sink" },
+    { C_ENUM(GST_URI_SRC), "GST_URI_SRC", "src" },
+    { 0, NULL, NULL }
+  };
+  *id = g_enum_register_static ("GstURIType", values);
+}
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
@@ -1526,55 +1489,17 @@
 GType
 gst_uri_type_get_type (void)
 {
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_URI_UNKNOWN), "GST_URI_UNKNOWN", "unknown" },
-    { C_ENUM(GST_URI_SINK), "GST_URI_SINK", "sink" },
-    { C_ENUM(GST_URI_SRC), "GST_URI_SRC", "src" },
-    { 0, NULL, NULL }
-  };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstURIType", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
-}
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-/* enumerations from "gstutils.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_search_mode_get_type (void)
-{
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    { C_ENUM(GST_SEARCH_MODE_EXACT), "GST_SEARCH_MODE_EXACT", "exact" },
-    { C_ENUM(GST_SEARCH_MODE_BEFORE), "GST_SEARCH_MODE_BEFORE", "before" },
-    { C_ENUM(GST_SEARCH_MODE_AFTER), "GST_SEARCH_MODE_AFTER", "after" },
-    { 0, NULL, NULL }
-  };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstSearchMode", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_uri_type, &id);
+  return id;
 }
 
 /* enumerations from "gstparse.h" */
-#ifdef __SYMBIAN32__
-EXPORT_C
-#endif
-
-GType
-gst_parse_error_get_type (void)
+static void
+register_gst_parse_error (GType* id)
 {
-  static gsize id = 0;
   static const GEnumValue values[] = {
     { C_ENUM(GST_PARSE_ERROR_SYNTAX), "GST_PARSE_ERROR_SYNTAX", "syntax" },
     { C_ENUM(GST_PARSE_ERROR_NO_SUCH_ELEMENT), "GST_PARSE_ERROR_NO_SUCH_ELEMENT", "no-such-element" },
@@ -1585,34 +1510,20 @@
     { C_ENUM(GST_PARSE_ERROR_EMPTY), "GST_PARSE_ERROR_EMPTY", "empty" },
     { 0, NULL, NULL }
   };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstParseError", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  *id = g_enum_register_static ("GstParseError", values);
 }
 #ifdef __SYMBIAN32__
 EXPORT_C
 #endif
 
 GType
-gst_parse_flags_get_type (void)
+gst_parse_error_get_type (void)
 {
-  static gsize id = 0;
-  static const GFlagsValue values[] = {
-    { C_FLAGS(GST_PARSE_FLAG_NONE), "GST_PARSE_FLAG_NONE", "none" },
-    { C_FLAGS(GST_PARSE_FLAG_FATAL_ERRORS), "GST_PARSE_FLAG_FATAL_ERRORS", "fatal-errors" },
-    { 0, NULL, NULL }
-  };
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
 
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_flags_register_static ("GstParseFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
+  g_once (&once, (GThreadFunc)register_gst_parse_error, &id);
+  return id;
 }
 
 /* Generated data ends here */