event: clean up some macros
authorWim Taymans <wim.taymans@collabora.co.uk>
Wed, 11 May 2011 10:04:43 +0000 (12:04 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Wed, 11 May 2011 14:06:49 +0000 (16:06 +0200)
Avoid executing a method for GST_TYPE_EVENT but instead use the type variable
directly. We can do this because we register it before anything else.

gst/gstevent.c
gst/gstevent.h

index b573cf0..af0cf02 100644 (file)
@@ -85,7 +85,7 @@
 #include "gstutils.h"
 #include "gstquark.h"
 
-static GType _gst_event_type = 0;
+GType _gst_event_type = 0;
 
 typedef struct
 {
@@ -147,7 +147,8 @@ _gst_event_initialize (void)
 {
   gint i;
 
-  gst_event_get_type ();
+  _gst_event_type = gst_mini_object_register ("GstEvent");
+
   g_type_class_ref (gst_seek_flags_get_type ());
   g_type_class_ref (gst_seek_type_get_type ());
 
@@ -214,15 +215,6 @@ gst_event_type_get_flags (GstEventType type)
   return ret;
 }
 
-GType
-gst_event_get_type (void)
-{
-  if (G_UNLIKELY (_gst_event_type == 0)) {
-    _gst_event_type = gst_mini_object_register ("GstEvent");
-  }
-  return _gst_event_type;
-}
-
 static void
 _gst_event_free (GstEvent * event)
 {
index 8d49477..f3522eb 100644 (file)
 
 G_BEGIN_DECLS
 
+extern GType _gst_event_type;
+
+typedef struct _GstEvent GstEvent;
+
+#define GST_TYPE_EVENT                  (_gst_event_type)
+#define GST_IS_EVENT(obj)               (GST_IS_MINI_OBJECT_TYPE (obj, GST_TYPE_EVENT))
+#define GST_EVENT_CAST(obj)             ((GstEvent *)(obj))
+#define GST_EVENT(obj)                  (GST_EVENT_CAST(obj))
+
+/**
+ * GST_EVENT_TRACE_NAME:
+ *
+ * The name used for memory allocation tracing
+ */
+#define GST_EVENT_TRACE_NAME    "GstEvent"
+
 /**
  * GstEventTypeFlags:
  * @GST_EVENT_TYPE_UPSTREAM:   Set if the event can travel upstream.
@@ -164,20 +180,6 @@ typedef enum {
 #undef FLAG
 
 /**
- * GST_EVENT_TRACE_NAME:
- *
- * The name used for memory allocation tracing
- */
-#define GST_EVENT_TRACE_NAME    "GstEvent"
-
-typedef struct _GstEvent GstEvent;
-
-#define GST_TYPE_EVENT                  (gst_event_get_type())
-#define GST_IS_EVENT(obj)               (GST_IS_MINI_OBJECT_TYPE (obj, GST_TYPE_EVENT))
-#define GST_EVENT(obj)                  ((GstEvent *)(obj))
-#define GST_EVENT_CAST(obj)             ((GstEvent *)(obj))
-
-/**
  * GST_EVENT_TYPE:
  * @event: the event to query
  *
@@ -396,8 +398,6 @@ GstEventTypeFlags
                 gst_event_type_get_flags        (GstEventType type);
 
 
-GType           gst_event_get_type              (void);
-
 /* refcounting */
 /**
  * gst_event_ref: