[Bug 750881] New: glmixerbin: correctly free input chain on pad release

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Jun 12 15:11:07 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=750881

            Bug ID: 750881
           Summary: glmixerbin: correctly free input chain on pad release
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: vliaskov at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 305183
  --> https://bugzilla.gnome.org/attachment.cgi?id=305183&action=edit
gstglmixerbin: compare with ghost_pad on pad release

I am testing with an application that uses a glvideomixer + glimagesink
pipeline to play a video file playlist(a bit large for a testcase, but i can
try to cut down if its helpful). When releasing a pad for the current file in
order to move to the next file, memory is leaked. 

When  releasing a glmixerbin pad in gst_gl_mixer_bin_release_pad(),
chain->mixer_pad is compared to the pad being released. I think
chain->ghost_pad should be compared to the incoming pad instead, since
gst_gl_mixer_bin_request_pad returns the ghost pad to requesting functions. The
current comparison results in _free_input_chain never getting called.

The problem doesn't show up with gst-play-1.0 or other playbin pipeline because
(as far as i understand) input-selector is in front of the mixer, and no mixer
pads are released when going through a file playlist.

I have a patch that uses ghost_pad, attaching below (also the bin's lock need
to not be held, in order to remove elements from the bin). _free_input_chain is
now called, however i still don't see gst_gl_upload_finalize and
gst_gl_color_convert_finalize being called, i would expect them to be called
now. So i still see leaking memory on pad release even with this patch.

Does the first patch make any sense? Is there any extra suggestion for
correctly freeing the input chain?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list