[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