rndbuffersize event handling procedure: leak, probably misbehavior

Andrey Utkin andrey.krieger.utkin at gmail.com
Mon Dec 23 11:50:30 PST 2013


Seems gst_rnd_buffer_size_src_event() from
gst-plugins-good/gst/debugutils/rndbuffersize.c has problems, and i am
not sure which exactly and how many.
For now i have checked that at least it leaks memory of event object.

It can be reproduced with

G_SLICE=always-malloc valgrind --show-reachable=no
--suppressions=/usr/local/src/gstreamer/common/gst.supp gst-launch-1.0
fakesrc ! rndbuffersize ! fakesink

You'll see here a single leak of resource allocated at gst_event_new_latency().
I think it lacks at least gst_event_unref() call here:

if (GST_EVENT_TYPE (event) != GST_EVENT_SEEK) {
    GST_WARNING_OBJECT (pad, "dropping %s event", GST_EVENT_TYPE_NAME (event));
    return FALSE;
}

But i am not sure is it enough, maybe it would be even more correct to
forward that event. At last in rtspsrc i see that GST_EVENT_LATENCY is
forwarded.

I ask for clarification so i could prepare a patch, or for a fix by developers.

-- 
Andrey Utkin


More information about the gstreamer-devel mailing list