diff --git a/ChangeLog b/ChangeLog index f0930a22a2..9d9b6f934f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-04-15 David Schleef + + * gst/gstvalue.c: (gst_value_serialize_buffer), + (gst_value_deserialize_buffer), (_gst_value_initialize): + Register these types as fundamental types. (bug #140015) + 2004-04-16 Benjamin Otte * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new), diff --git a/gst/gstvalue.c b/gst/gstvalue.c index 0f39321ef3..ca146df2e3 100644 --- a/gst/gstvalue.c +++ b/gst/gstvalue.c @@ -1569,6 +1569,14 @@ gst_value_deserialize (GValue * dest, const gchar * src) return FALSE; } +enum +{ + _GST_TYPE_FOURCC = G_TYPE_RESERVED_USER_FIRST, + _GST_TYPE_INT_RANGE, + _GST_TYPE_DOUBLE_RANGE, + _GST_TYPE_VALUE_LIST +}; + void _gst_value_initialize (void) { @@ -1584,6 +1592,9 @@ _gst_value_initialize (void) NULL, NULL, }; + GTypeFundamentalInfo finfo = { + 0 + }; //const GTypeFundamentalInfo finfo = { G_TYPE_FLAG_DERIVABLE, }; @@ -1612,8 +1623,8 @@ _gst_value_initialize (void) }; info.value_table = &value_table; - gst_type_fourcc = - g_type_register_static (G_TYPE_BOXED, "GstFourcc", &info, 0); + gst_type_fourcc = g_type_register_fundamental (g_type_fundamental_next (), + "GstFourcc", &info, &finfo, 0); gst_value.type = gst_type_fourcc; gst_value_register (&gst_value); } @@ -1638,7 +1649,8 @@ _gst_value_initialize (void) info.value_table = &value_table; gst_type_int_range = - g_type_register_static (G_TYPE_BOXED, "GstIntRange", &info, 0); + g_type_register_fundamental (g_type_fundamental_next (), "GstIntRange", + &info, &finfo, 0); gst_value.type = gst_type_int_range; gst_value_register (&gst_value); } @@ -1663,7 +1675,8 @@ _gst_value_initialize (void) info.value_table = &value_table; gst_type_double_range = - g_type_register_static (G_TYPE_BOXED, "GstDoubleRange", &info, 0); + g_type_register_fundamental (g_type_fundamental_next (), + "GstDoubleRange", &info, &finfo, 0); gst_value.type = gst_type_double_range; gst_value_register (&gst_value); } @@ -1687,8 +1700,8 @@ _gst_value_initialize (void) }; info.value_table = &value_table; - gst_type_list = - g_type_register_static (G_TYPE_BOXED, "GstValueList", &info, 0); + gst_type_list = g_type_register_fundamental (g_type_fundamental_next (), + "GstValueList", &info, &finfo, 0); gst_value.type = gst_type_list; gst_value_register (&gst_value); }