After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 737757 - decodebin: memory leak
decodebin: memory leak
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other All
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-10-01 23:25 UTC by Matej Knopp
Modified: 2014-10-06 06:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Sample file (1.27 MB, application/octet-stream)
2014-10-01 23:25 UTC, Matej Knopp
  Details
decodebin: unref decode pad after usage (1.13 KB, patch)
2014-10-02 19:23 UTC, Aurélien Zanelli
committed Details | Review

Description Matej Knopp 2014-10-01 23:25:10 UTC
Created attachment 287549 [details]
Sample file

With sample pipeline decodebin leaks one instance of GstProxyPad and GstDecodePad

pipeline assumes working h.264 decoder and parser

$ export GST_TRACE=mem-live
$ /opt/avs-debug/bin/gst-launch-1.0 filesrc location="x.ts" ! decodebin  ! fakesink

output:
...
  GstProxyPad          : (1) 0x10087a930
  GstDecodePad         : (1) 0x10088c190
...

I did try to debug it first but I got lost in decodebin code
Comment 1 Aurélien Zanelli 2014-10-02 19:23:31 UTC
Created attachment 287619 [details] [review]
decodebin: unref decode pad after usage

unref dpad before jumping to setup_caps_delay to avoid leaking it
Comment 2 Matej Knopp 2014-10-02 22:05:16 UTC
Seems to work for me. Thanks!
Comment 3 Sebastian Dröge (slomo) 2014-10-06 06:54:25 UTC
commit 796fd165503b7e1a3724183542485a22ad0a7db4
Author: Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
Date:   Thu Oct 2 21:20:48 2014 +0200

    decodebin: unref decode pad after usage
    
    https://bugzilla.gnome.org/show_bug.cgi?id=737757