[gstreamer-bugs] [Bug 402393] New: oggmux leaks when unref'd without state change
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Tue Jan 30 01:34:31 PST 2007
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=402393
GStreamer | gst-plugins-base | Ver: HEAD CVS
Summary: oggmux leaks when unref'd without state change
Product: GStreamer
Version: HEAD CVS
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: doclivingston at gmail.com
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME version: Unspecified
GNOME milestone: Unspecified
GstOggMux leaks some memory when it is finalised without ever having it's state
changed but a sink pad was added. An example of this happening is when
gnome-media's audio profile code creates a pipeline, just to see if it can.
gst_ogg_mux_request_new_pad() is called to create the new pad, but
gst_ogg_mux_release_pad() is never called and gst_ogg_mux_clear_collectpads()
isn't run because of the lack of downward state change.
Valgrind output:
==18548== 4,096 bytes in 1 blocks are definitely lost in loss record 21 of 28
==18548== at 0x4021380: malloc (vg_replace_malloc.c:149)
==18548== by 0x46CC56A: ogg_stream_init (in /usr/lib/libogg.so.0.5.3)
==18548== by 0x4B77D42: gst_ogg_mux_request_new_pad (gstoggmux.c:417)
==18548== by 0x409F4CA: gst_element_request_compatible_pad (gstutils.c:793)
==18548== by 0x409F698: gst_element_get_compatible_pad (gstutils.c:967)
==18548== by 0x40A026A: gst_element_link_pads (gstutils.c:1469)
==18548== by 0x40A0CBC: gst_element_link_pads_filtered (gstutils.c:1660)
==18548== by 0x40B5EEB: _gst_parse_launch (grammar.y:406)
==18548== by 0x40A9847: gst_parse_launch (gstparse.c:159)
==18548== by 0x80485CC: main (in
/home/doc/programming/sources/gst-plugins-base/ext/ogg/foo)
==18548==
==18548==
==18548== 8,192 bytes in 1 blocks are definitely lost in loss record 24 of 28
==18548== at 0x4021380: malloc (vg_replace_malloc.c:149)
==18548== by 0x46CC57B: ogg_stream_init (in /usr/lib/libogg.so.0.5.3)
==18548== by 0x4B77D42: gst_ogg_mux_request_new_pad (gstoggmux.c:417)
==18548== by 0x409F4CA: gst_element_request_compatible_pad (gstutils.c:793)
==18548== by 0x409F698: gst_element_get_compatible_pad (gstutils.c:967)
==18548== by 0x40A026A: gst_element_link_pads (gstutils.c:1469)
==18548== by 0x40A0CBC: gst_element_link_pads_filtered (gstutils.c:1660)
==18548== by 0x40B5EEB: _gst_parse_launch (grammar.y:406)
==18548== by 0x40A9847: gst_parse_launch (gstparse.c:159)
==18548== by 0x80485CC: main (in
/home/doc/programming/sources/gst-plugins-base/ext/ogg/foo)
==18548==
==18548==
==18548== 16,384 bytes in 1 blocks are definitely lost in loss record 25 of 28
==18548== at 0x4021380: malloc (vg_replace_malloc.c:149)
==18548== by 0x46CC555: ogg_stream_init (in /usr/lib/libogg.so.0.5.3)
==18548== by 0x4B77D42: gst_ogg_mux_request_new_pad (gstoggmux.c:417)
==18548== by 0x409F4CA: gst_element_request_compatible_pad (gstutils.c:793)
==18548== by 0x409F698: gst_element_get_compatible_pad (gstutils.c:967)
==18548== by 0x40A026A: gst_element_link_pads (gstutils.c:1469)
==18548== by 0x40A0CBC: gst_element_link_pads_filtered (gstutils.c:1660)
==18548== by 0x40B5EEB: _gst_parse_launch (grammar.y:406)
==18548== by 0x40A9847: gst_parse_launch (gstparse.c:159)
==18548== by 0x80485CC: main (in
/home/doc/programming/sources/gst-plugins-base/ext/ogg/foo)
from the following program:
#include <gst/gst.h>
int main()
{
GstElement *p;
gst_init (NULL, NULL);
p = gst_parse_launch ("fakesrc ! audioconvert ! vorbisenc ! oggmux !
fakesink", NULL);
g_object_unref (p);
gst_deinit ();
}
--
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
More information about the Gstreamer-bugs
mailing list