mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 21:16:24 +00:00
tools/gst-inspect.c: Save approx. 400 1 byte allocs when printing. Use API to acces element details.
Original commit message from CVS: * tools/gst-inspect.c: Save approx. 400 1 byte allocs when printing. Use API to acces element details. * tools/gst-run.c: Avoid a strdup. * tools/gst-xmlinspect.c: Use API to acces element details.
This commit is contained in:
parent
ca048215eb
commit
1424c3965f
4 changed files with 67 additions and 30 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2007-10-15 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* tools/gst-inspect.c:
|
||||
Save approx. 400 1 byte allocs when printing. Use API to acces element
|
||||
details.
|
||||
|
||||
* tools/gst-run.c:
|
||||
Avoid a strdup.
|
||||
|
||||
* tools/gst-xmlinspect.c:
|
||||
Use API to acces element details.
|
||||
|
||||
2007-10-15 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* gst/gstinfo.c:
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
#include <locale.h>
|
||||
#include <glib/gprintf.h>
|
||||
|
||||
static char *_name;
|
||||
static char *_name = NULL;
|
||||
|
||||
static int print_element_info (GstElementFactory * factory,
|
||||
gboolean print_names);
|
||||
|
@ -246,14 +246,19 @@ print_interfaces (GType type)
|
|||
|
||||
if (ifaces) {
|
||||
if (n_ifaces) {
|
||||
g_print ("%s", _name);
|
||||
if (_name)
|
||||
g_print (_name);
|
||||
g_print (_("Implemented Interfaces:\n"));
|
||||
iface = ifaces;
|
||||
while (*iface) {
|
||||
g_print ("%s %s\n", _name, g_type_name (*iface));
|
||||
if (_name)
|
||||
g_print (_name);
|
||||
g_print (" %s\n", g_type_name (*iface));
|
||||
iface++;
|
||||
}
|
||||
g_print ("%s\n", _name);
|
||||
if (_name)
|
||||
g_print (_name);
|
||||
g_print ("\n");
|
||||
g_free (ifaces);
|
||||
}
|
||||
}
|
||||
|
@ -288,19 +293,25 @@ print_element_properties_info (GstElement * element)
|
|||
if (param->flags & G_PARAM_READABLE) {
|
||||
g_object_get_property (G_OBJECT (element), param->name, &value);
|
||||
readable = TRUE;
|
||||
g_print ((first_flag ? "" : ", "));
|
||||
if (!first_flag)
|
||||
g_print (", ");
|
||||
else
|
||||
first_flag = FALSE;
|
||||
g_print (_("readable"));
|
||||
first_flag = FALSE;
|
||||
}
|
||||
if (param->flags & G_PARAM_WRITABLE) {
|
||||
g_print ((first_flag ? "" : ", "));
|
||||
if (!first_flag)
|
||||
g_print (", ");
|
||||
else
|
||||
first_flag = FALSE;
|
||||
g_print (_("writable"));
|
||||
first_flag = FALSE;
|
||||
}
|
||||
if (param->flags & GST_PARAM_CONTROLLABLE) {
|
||||
g_print ((first_flag ? "" : ", "));
|
||||
if (!first_flag)
|
||||
g_print (", ");
|
||||
else
|
||||
first_flag = FALSE;
|
||||
g_print (_("controllable"));
|
||||
first_flag = FALSE;
|
||||
}
|
||||
n_print ("\n");
|
||||
|
||||
|
@ -456,9 +467,11 @@ print_element_properties_info (GstElement * element)
|
|||
|
||||
j = 0;
|
||||
while (values[j].value_name) {
|
||||
g_print ("\n%s%-23.23s (%d): %-16s - %s", "",
|
||||
_name, values[j].value, values[j].value_nick,
|
||||
values[j].value_name);
|
||||
g_print ("\n");
|
||||
if (_name)
|
||||
g_print (_name);
|
||||
g_print ("%-23.23s (%d): %-16s - %s", "",
|
||||
values[j].value, values[j].value_nick, values[j].value_name);
|
||||
j++;
|
||||
}
|
||||
/* g_type_class_unref (ec); */
|
||||
|
@ -488,9 +501,11 @@ print_element_properties_info (GstElement * element)
|
|||
|
||||
j = 0;
|
||||
while (values[j].value_name) {
|
||||
g_print ("\n%s%-23.23s (0x%08x): %-16s - %s", "",
|
||||
_name, values[j].value, values[j].value_nick,
|
||||
values[j].value_name);
|
||||
g_print ("\n");
|
||||
if (_name)
|
||||
g_print (_name);
|
||||
g_print ("%-23.23s (0x%08x): %-16s - %s", "",
|
||||
values[j].value, values[j].value_nick, values[j].value_name);
|
||||
j++;
|
||||
}
|
||||
|
||||
|
@ -795,21 +810,25 @@ print_signal_info (GstElement * element)
|
|||
g_type_name (query->return_type), g_type_name (type));
|
||||
|
||||
for (j = 0; j < query->n_params; j++) {
|
||||
if (_name)
|
||||
g_print (_name);
|
||||
if (G_TYPE_IS_FUNDAMENTAL (query->param_types[j])) {
|
||||
g_print (",\n%s%s%s arg%d", _name, indent,
|
||||
g_print (",\n%s%s arg%d", indent,
|
||||
g_type_name (query->param_types[j]), j);
|
||||
} else if (G_TYPE_IS_ENUM (query->param_types[j])) {
|
||||
g_print (",\n%s%s%s arg%d", _name, indent,
|
||||
g_print (",\n%s%s arg%d", indent,
|
||||
g_type_name (query->param_types[j]), j);
|
||||
} else {
|
||||
g_print (",\n%s%s%s* arg%d", _name, indent,
|
||||
g_print (",\n%s%s* arg%d", indent,
|
||||
g_type_name (query->param_types[j]), j);
|
||||
}
|
||||
}
|
||||
|
||||
if (k == 0)
|
||||
g_print (",\n%s%sgpointer user_data);\n", _name, indent);
|
||||
else
|
||||
if (k == 0) {
|
||||
if (_name)
|
||||
g_print (_name);
|
||||
g_print (",\n%sgpointer user_data);\n", indent);
|
||||
} else
|
||||
g_print (");\n");
|
||||
|
||||
g_free (indent);
|
||||
|
@ -874,7 +893,8 @@ print_element_list (gboolean print_all)
|
|||
print_element_info (factory, TRUE);
|
||||
else
|
||||
g_print ("%s: %s: %s\n", plugin->desc.name,
|
||||
GST_PLUGIN_FEATURE_NAME (factory), factory->details.longname);
|
||||
GST_PLUGIN_FEATURE_NAME (factory),
|
||||
gst_element_factory_get_longname (factory));
|
||||
}
|
||||
#ifndef GST_DISABLE_INDEX
|
||||
else if (GST_IS_INDEX_FACTORY (feature)) {
|
||||
|
@ -970,7 +990,7 @@ print_plugin_features (GstPlugin * plugin)
|
|||
|
||||
factory = GST_ELEMENT_FACTORY (feature);
|
||||
n_print (" %s: %s\n", GST_PLUGIN_FEATURE_NAME (factory),
|
||||
factory->details.longname);
|
||||
gst_element_factory_get_longname (factory));
|
||||
num_elements++;
|
||||
}
|
||||
#ifndef GST_DISABLE_INDEX
|
||||
|
@ -1071,7 +1091,7 @@ print_element_info (GstElementFactory * factory, gboolean print_names)
|
|||
if (print_names)
|
||||
_name = g_strdup_printf ("%s: ", GST_PLUGIN_FEATURE (factory)->name);
|
||||
else
|
||||
_name = "";
|
||||
_name = NULL;
|
||||
|
||||
print_factory_details_info (factory);
|
||||
if (GST_PLUGIN_FEATURE (factory)->plugin_name) {
|
||||
|
|
|
@ -220,10 +220,14 @@ get_candidates (const gchar * dir, const gchar * base)
|
|||
g_free (pattern);
|
||||
|
||||
/* get all dirs from the path and prepend with given dir */
|
||||
path = g_strdup_printf ("%s%c%s",
|
||||
dir, G_SEARCHPATH_SEPARATOR, g_getenv ("PATH"));
|
||||
if (dir)
|
||||
path = g_strdup_printf ("%s%c%s",
|
||||
dir, G_SEARCHPATH_SEPARATOR, g_getenv ("PATH"));
|
||||
else
|
||||
path = (gchar *) g_getenv ("PATH");
|
||||
dirs = g_strsplit (path, G_SEARCHPATH_SEPARATOR_S, 0);
|
||||
g_free (path);
|
||||
if (dir)
|
||||
g_free (path);
|
||||
|
||||
/* check all of these in reverse order by winding to bottom and going up */
|
||||
cur = &dirs[0];
|
||||
|
|
|
@ -634,7 +634,8 @@ print_element_list (void)
|
|||
|
||||
factory = GST_ELEMENT_FACTORY (feature);
|
||||
g_print ("%s: %s: %s\n", plugin->desc.name,
|
||||
GST_PLUGIN_FEATURE_NAME (factory), factory->details.longname);
|
||||
GST_PLUGIN_FEATURE_NAME (factory),
|
||||
gst_element_factory_get_longname (factory));
|
||||
}
|
||||
#ifndef GST_DISABLE_INDEX
|
||||
else if (GST_IS_INDEX_FACTORY (feature)) {
|
||||
|
@ -705,7 +706,7 @@ print_plugin_info (GstPlugin * plugin)
|
|||
|
||||
factory = GST_ELEMENT_FACTORY (feature);
|
||||
g_print (" %s: %s\n", GST_OBJECT_NAME (factory),
|
||||
factory->details.longname);
|
||||
gst_element_factory_get_longname (factory));
|
||||
num_elements++;
|
||||
}
|
||||
#ifndef GST_DISABLE_INDEX
|
||||
|
|
Loading…
Reference in a new issue