};
#define FUNC_VALUE_GET_TYPE(type, name) \
+GType _gst_ ## type ## _type = 0; \
+ \
GType gst_ ## type ## _get_type (void) \
{ \
- static volatile GType gst_ ## type ## _type = 0; \
+ static volatile GType gst_ ## type ## _type = 0; \
\
- if (g_once_init_enter (&gst_ ## type ## _type)) { \
- GType _type; \
+ if (g_once_init_enter (&gst_ ## type ## _type)) { \
+ GType _type; \
_info.value_table = & _gst_ ## type ## _value_table; \
- _type = g_type_register_fundamental ( \
+ _type = g_type_register_fundamental ( \
g_type_fundamental_next (), \
name, &_info, &_finfo, 0); \
- g_once_init_leave(&gst_ ## type ## _type, _type); \
+ _gst_ ## type ## _type = _type; \
+ g_once_init_leave(&gst_ ## type ## _type, _type); \
} \
\
return gst_ ## type ## _type; \
*/
#define GST_VALUE_HOLDS_BITMASK(x) (G_VALUE_HOLDS((x), gst_bitmask_get_type ()))
+GST_EXPORT GType _gst_int_range_type;
+
/**
* GST_TYPE_INT_RANGE:
*
*
* Returns: the #GType of GstIntRange
*/
-#define GST_TYPE_INT_RANGE gst_int_range_get_type ()
+#define GST_TYPE_INT_RANGE (_gst_int_range_type)
+
+GST_EXPORT GType _gst_int64_range_type;
/**
* GST_TYPE_INT64_RANGE:
*
* Returns: the #GType of GstInt64Range
*/
-#define GST_TYPE_INT64_RANGE gst_int64_range_get_type ()
+#define GST_TYPE_INT64_RANGE (_gst_int64_range_type)
+
+GST_EXPORT GType _gst_double_range_type;
/**
* GST_TYPE_DOUBLE_RANGE:
*
* Returns: the #GType of GstIntRange
*/
-#define GST_TYPE_DOUBLE_RANGE gst_double_range_get_type ()
+#define GST_TYPE_DOUBLE_RANGE (_gst_double_range_type)
+
+GST_EXPORT GType _gst_fraction_range_type;
/**
* GST_TYPE_FRACTION_RANGE:
*
* Returns: the #GType of GstFractionRange
*/
-#define GST_TYPE_FRACTION_RANGE gst_fraction_range_get_type ()
+#define GST_TYPE_FRACTION_RANGE (_gst_fraction_range_type)
+
+GST_EXPORT GType _gst_value_list_type;
/**
* GST_TYPE_LIST:
*
* Returns: the #GType of GstValueList (which is not explicitly typed)
*/
-#define GST_TYPE_LIST gst_value_list_get_type ()
+#define GST_TYPE_LIST (_gst_value_list_type)
+
+GST_EXPORT GType _gst_value_array_type;
/**
* GST_TYPE_ARRAY:
*
* Returns: the #GType of GstArrayList (which is not explicitly typed)
*/
-#define GST_TYPE_ARRAY gst_value_array_get_type ()
+#define GST_TYPE_ARRAY (_gst_value_array_type)
+
+GST_EXPORT GType _gst_fraction_type;
/**
* GST_TYPE_FRACTION:
* Returns: the #GType of GstFraction (which is not explicitly typed)
*/
-#define GST_TYPE_FRACTION gst_fraction_get_type ()
+#define GST_TYPE_FRACTION (_gst_fraction_type)
+
+GST_EXPORT GType _gst_bitmask_type;
/**
* GST_TYPE_BITMASK:
* Returns: the #GType of GstBitmask (which is not explicitly typed)
*/
-#define GST_TYPE_BITMASK gst_bitmask_get_type ()
+#define GST_TYPE_BITMASK (_gst_bitmask_type)
/**
* GST_TYPE_G_THREAD: