X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=subprojects%2Fgstreamer%2Ftools%2Fgst-inspect.c;h=328809a6a02d50c7a1d8f2daf39ddf105f0ffa36;hb=65eb52644487ce2cefe7e7f5e1d03a5a1396cb1b;hp=069754e5ebd7505f6e2b1bdf239c023ec651dbd2;hpb=cb08a6d8dc3cf153f62cc7097945fac1efae7338;p=platform%2Fupstream%2Fgstreamer.git diff --git a/subprojects/gstreamer/tools/gst-inspect.c b/subprojects/gstreamer/tools/gst-inspect.c index 069754e..328809a 100644 --- a/subprojects/gstreamer/tools/gst-inspect.c +++ b/subprojects/gstreamer/tools/gst-inspect.c @@ -432,6 +432,7 @@ print_object_properties_info (GObject * obj, GObjectClass * obj_class, (GCompareDataFunc) sort_gparamspecs, NULL); n_print ("%s%s%s:\n", HEADING_COLOR, desc, RESET_COLOR); + n_print ("\n"); push_indent (); @@ -780,6 +781,8 @@ print_object_properties_info (GObject * obj, GObjectClass * obj_class, pop_indent_n (11); g_value_reset (&value); + + n_print ("\n"); } if (num_properties == 0) n_print ("%snone%s\n", PROP_VALUE_COLOR, RESET_COLOR); @@ -1065,6 +1068,21 @@ gtype_needs_ptr_marker (GType type) return FALSE; } +static const gchar * +pretty_type_name (GType type, const gchar ** p_pmark) +{ + if (type == G_TYPE_STRING) { + *p_pmark = " * "; + return "gchar"; + } else if (type == G_TYPE_STRV) { + *p_pmark = " ** "; + return "gchar"; + } else { + *p_pmark = gtype_needs_ptr_marker (type) ? " * " : " "; + return g_type_name (type); + } +} + static void print_signal_info (GstElement * element) { @@ -1122,6 +1140,7 @@ print_signal_info (GstElement * element) n_print ("%sElement Signals%s:\n", HEADING_COLOR, RESET_COLOR); else n_print ("%sElement Actions%s:\n", HEADING_COLOR, RESET_COLOR); + n_print ("\n"); } else { continue; } @@ -1129,37 +1148,39 @@ print_signal_info (GstElement * element) for (l = found_signals; l; l = l->next) { gchar *indent; const gchar *pmark; + const gchar *retval_type_name; int indent_len; query = (GSignalQuery *) l->data; - indent_len = strlen (query->signal_name) + - strlen (g_type_name (query->return_type)) + 24; - - if (gtype_needs_ptr_marker (query->return_type)) { - pmark = "* "; - indent_len += 2; - } else { - pmark = " "; - } + retval_type_name = pretty_type_name (query->return_type, &pmark); + indent_len = + strlen (query->signal_name) + strlen (retval_type_name) + 24 + + strlen (pmark) - 1; indent = g_new0 (gchar, indent_len + 1); memset (indent, ' ', indent_len); - n_print (" %s\"%s\"%s : %s%s%s%suser_function%s (%s%s%s* object%s", + n_print (" %s\"%s\"%s : %s%s%s%suser_function%s (%s%s%s * object%s", PROP_NAME_COLOR, query->signal_name, RESET_COLOR, - DATATYPE_COLOR, g_type_name (query->return_type), PROP_VALUE_COLOR, + DATATYPE_COLOR, retval_type_name, PROP_VALUE_COLOR, pmark, RESET_COLOR, DATATYPE_COLOR, g_type_name (type), PROP_VALUE_COLOR, RESET_COLOR); for (j = 0; j < query->n_params; j++) { - const gchar *type_name, *asterisk; + const gchar *type_name, *asterisk, *const_prefix; - type_name = g_type_name (query->param_types[j]); - asterisk = gtype_needs_ptr_marker (query->param_types[j]) ? "*" : ""; + type_name = pretty_type_name (query->param_types[j], &asterisk); + + /* Add const prefix for string and string array arguments */ + if (g_str_equal (type_name, "gchar") && strchr (asterisk, '*')) { + const_prefix = "const "; + } else { + const_prefix = ""; + } g_print (",\n"); - n_print ("%s%s%s%s%s arg%d%s", indent, DATATYPE_COLOR, type_name, - PROP_VALUE_COLOR, asterisk, j, RESET_COLOR); + n_print ("%s%s%s%s%s%sarg%d%s", indent, DATATYPE_COLOR, const_prefix, + type_name, PROP_VALUE_COLOR, asterisk, j, RESET_COLOR); } if (k == 0) { @@ -1170,6 +1191,7 @@ print_signal_info (GstElement * element) g_print (");\n"); g_free (indent); + g_print ("\n"); } if (found_signals) {