Fixed long standing mem-leak

Original commit message from CVS:
* docs/gst/tmpl/gstplugin.sgml:
* gst/gstelement.c: (gst_element_class_init),
(gst_element_link_pads_filtered), (gst_element_save_thyself):
* tools/gst-compprep.c: (main):
* tools/gst-inspect.c: (print_element_properties_info):
* tools/gst-xmlinspect.c: (print_element_properties):
Fixed long standing mem-leak
This commit is contained in:
Stefan Kost 2005-08-24 13:06:12 +00:00
parent 0fa6095bc2
commit 14a1597707
7 changed files with 46 additions and 50 deletions

View file

@ -1,3 +1,13 @@
2005-08-24 Stefan Kost <ensonic@users.sf.net>
* docs/gst/tmpl/gstplugin.sgml:
* gst/gstelement.c: (gst_element_class_init),
(gst_element_link_pads_filtered), (gst_element_save_thyself):
* tools/gst-compprep.c: (main):
* tools/gst-inspect.c: (print_element_properties_info):
* tools/gst-xmlinspect.c: (print_element_properties):
Fixed long standing mem-leak
2005-08-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* docs/manual/basics-helloworld.xml:

2
common

@ -1 +1 @@
Subproject commit 8ff526a316f9b576e727b8e32cba0a53cdec07a6
Subproject commit aa2a757c587d91069a230d8e656481c3c364ccc6

View file

@ -1239,10 +1239,7 @@ gst_element_add_ghost_pad (GstElement * element, GstPad * pad,
* @pad: the #GstPad to remove from the element.
*
* Removes @pad from @element. @pad will be destroyed if it has not been
* referenced elsewhere. Normally, only elements remove pads. The only
* exception to this are ghost pads which were created by the application
* and request pads, which applications can remove using
* gst_element_release_request_pad().
* referenced elsewhere.
*/
void
gst_element_remove_pad (GstElement * element, GstPad * pad)
@ -1965,14 +1962,7 @@ gst_element_link_pads_filtered (GstElement * src, const gchar * srcpadname,
GST_CAT_DEBUG (GST_CAT_ELEMENT_PADS, "linked pad %s:%s to pad %s:%s",
GST_DEBUG_PAD_NAME (srcpad), GST_DEBUG_PAD_NAME (temp));
return TRUE;
} else {
GST_CAT_DEBUG (GST_CAT_ELEMENT_PADS,
"no temp %p or link failed", temp);
}
} else {
GST_CAT_DEBUG (GST_CAT_ELEMENT_PADS,
"invalid source pad dir=%d, peer=%p", GST_PAD_DIRECTION (srcpad),
GST_PAD_PEER (srcpad));
}
/* find a better way for this mess */
if (srcpads) {
@ -2001,14 +1991,7 @@ gst_element_link_pads_filtered (GstElement * src, const gchar * srcpadname,
GST_CAT_DEBUG (GST_CAT_ELEMENT_PADS, "linked pad %s:%s to pad %s:%s",
GST_DEBUG_PAD_NAME (temp), GST_DEBUG_PAD_NAME (destpad));
return TRUE;
} else {
GST_CAT_DEBUG (GST_CAT_ELEMENT_PADS,
"no temp %p or link failed", temp);
}
} else {
GST_CAT_DEBUG (GST_CAT_ELEMENT_PADS,
"invalid destination pad dir=%d, peer=%p",
GST_PAD_DIRECTION (destpad), GST_PAD_PEER (destpad));
}
if (destpads) {
destpads = g_list_next (destpads);
@ -2091,8 +2074,6 @@ gst_element_link_filtered (GstElement * src, GstElement * dest,
* @...: the NULL-terminated list of elements to link in order.
*
* Chain together a series of elements. Uses gst_element_link().
* Does not unlink partially linked elements in the case of an error
* (use gst_element_link_many() ).
*
* Returns: TRUE on success, FALSE otherwise.
*/
@ -3223,6 +3204,8 @@ gst_element_save_thyself (GstObject * object, xmlNodePtr parent)
}
}
g_free (specs);
pads = GST_ELEMENT_PADS (element);
while (pads) {

View file

@ -137,6 +137,7 @@ main (int argc, char *argv[])
}
}
}
g_free (property_specs);
}
}

View file

@ -479,6 +479,7 @@ print_element_properties_info (GstElement * element)
}
if (num_properties == 0)
n_print (" none\n");
g_free (property_specs);
}
static void

View file

@ -346,6 +346,7 @@ print_element_properties (GstElement * element, gint pfx)
PUT_END_TAG (pfx + 1, "element-property");
}
PUT_END_TAG (pfx, "element-properties");
g_free (property_specs);
}
static void