gstreamer: remove unneeded casts

G_PARAM_SPEC_VALUE_TYPE does an expensive type check, whereas the
value_type field is a public field, so we can just use it directly.
This commit is contained in:
Edward Hervey 2009-12-28 17:25:20 +01:00
parent f8a6a088e6
commit d60a3b8a59
6 changed files with 8 additions and 9 deletions

View file

@ -281,7 +281,7 @@ gst_child_proxy_get_valist (GstObject * object,
if (!gst_child_proxy_lookup (object, name, &target, &pspec)) if (!gst_child_proxy_lookup (object, name, &target, &pspec))
goto not_found; goto not_found;
g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec)); g_value_init (&value, pspec->value_type);
g_object_get_property (G_OBJECT (target), pspec->name, &value); g_object_get_property (G_OBJECT (target), pspec->name, &value);
gst_object_unref (target); gst_object_unref (target);

View file

@ -2939,7 +2939,7 @@ gst_element_save_thyself (GstObject * object, xmlNodePtr parent)
xmlNodePtr param; xmlNodePtr param;
char *contents; char *contents;
g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (spec)); g_value_init (&value, spec->value_type);
g_object_get_property (G_OBJECT (element), spec->name, &value); g_object_get_property (G_OBJECT (element), spec->name, &value);
param = xmlNewChild (parent, NULL, (xmlChar *) "param", NULL); param = xmlNewChild (parent, NULL, (xmlChar *) "param", NULL);

View file

@ -579,13 +579,12 @@ param_mini_object_set_default (GParamSpec * pspec, GValue * value)
static gboolean static gboolean
param_mini_object_validate (GParamSpec * pspec, GValue * value) param_mini_object_validate (GParamSpec * pspec, GValue * value)
{ {
GstParamSpecMiniObject *ospec = GST_PARAM_SPEC_MINI_OBJECT (pspec);
GstMiniObject *mini_object = value->data[0].v_pointer; GstMiniObject *mini_object = value->data[0].v_pointer;
gboolean changed = FALSE; gboolean changed = FALSE;
if (mini_object if (mini_object
&& !g_value_type_compatible (G_OBJECT_TYPE (mini_object), && !g_value_type_compatible (G_OBJECT_TYPE (mini_object),
G_PARAM_SPEC_VALUE_TYPE (ospec))) { pspec->value_type)) {
gst_mini_object_unref (mini_object); gst_mini_object_unref (mini_object);
value->data[0].v_pointer = NULL; value->data[0].v_pointer = NULL;
changed = TRUE; changed = TRUE;

View file

@ -560,7 +560,7 @@ gst_object_default_deep_notify (GObject * object, GstObject * orig,
return; return;
excluded_props++; excluded_props++;
} }
g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec)); g_value_init (&value, pspec->value_type);
g_object_get_property (G_OBJECT (orig), pspec->name, &value); g_object_get_property (G_OBJECT (orig), pspec->name, &value);
/* FIXME: handle flags */ /* FIXME: handle flags */

View file

@ -139,7 +139,7 @@ gst_util_set_object_arg (GObject * object, const gchar * name,
if (!pspec) if (!pspec)
return; return;
value_type = G_PARAM_SPEC_VALUE_TYPE (pspec); value_type = pspec->value_type;
GST_DEBUG ("pspec->flags is %d, pspec->value_type is %s", GST_DEBUG ("pspec->flags is %d, pspec->value_type is %s",
pspec->flags, g_type_name (value_type)); pspec->flags, g_type_name (value_type));
@ -803,7 +803,7 @@ gst_print_element_args (GString * buf, gint indent, GstElement * element)
spec = *walk; spec = *walk;
if (spec->flags & G_PARAM_READABLE) { if (spec->flags & G_PARAM_READABLE) {
g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (spec)); g_value_init (&value, spec->value_type);
g_object_get_property (G_OBJECT (element), spec->name, &value); g_object_get_property (G_OBJECT (element), spec->name, &value);
str = g_strdup_value_contents (&value); str = g_strdup_value_contents (&value);
g_value_unset (&value); g_value_unset (&value);

View file

@ -280,7 +280,7 @@ static void gst_parse_new_child(GstChildProxy *child_proxy, GObject *object,
if (gst_child_proxy_lookup (GST_OBJECT (set->parent), set->name, &target, &pspec)) { if (gst_child_proxy_lookup (GST_OBJECT (set->parent), set->name, &target, &pspec)) {
gboolean got_value = FALSE; gboolean got_value = FALSE;
value_type = G_PARAM_SPEC_VALUE_TYPE (pspec); value_type = pspec->value_type;
GST_CAT_LOG (GST_CAT_PIPELINE, "parsing delayed property %s as a %s from %s", pspec->name, GST_CAT_LOG (GST_CAT_PIPELINE, "parsing delayed property %s as a %s from %s", pspec->name,
g_type_name (value_type), set->value_str); g_type_name (value_type), set->value_str);
@ -356,7 +356,7 @@ gst_parse_element_set (gchar *value, GstElement *element, graph_t *graph)
if (gst_child_proxy_lookup (GST_OBJECT (element), value, &target, &pspec)) { if (gst_child_proxy_lookup (GST_OBJECT (element), value, &target, &pspec)) {
gboolean got_value = FALSE; gboolean got_value = FALSE;
value_type = G_PARAM_SPEC_VALUE_TYPE (pspec); value_type = pspec->value_type;
GST_CAT_LOG (GST_CAT_PIPELINE, "parsing property %s as a %s", pspec->name, GST_CAT_LOG (GST_CAT_PIPELINE, "parsing property %s as a %s", pspec->name,
g_type_name (value_type)); g_type_name (value_type));