[gstreamer-bugs] [Bug 608564] New: [ffdec_cook] memory leak

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat Jan 30 15:22:47 PST 2010


https://bugzilla.gnome.org/show_bug.cgi?id=608564
  GStreamer | gst-ffmpeg | git

           Summary: [ffdec_cook] memory leak
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-ffmpeg
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: t.i.m at zen.co.uk
         QAContact: gstreamer-bugs at lists.sourceforge.net
                CC: t.i.m at zen.co.uk, negro at interim.it
        Depends on: 608533
      GNOME target: ---
     GNOME version: ---


+++ This bug was initially created as a clone of Bug #608533 +++

This seems to leak memory in gst-ffmpeg:

  gst-launch uridecodebin uri=rtsp://live.media.rai.it/broadcast/radiodue.rm !
fakesink


The following patch seems to fix it, but I've got a feeling it's not the right
fix. I don't quite understand the comment - maybe these buffers (or
GST_BUFFER_DATA) are supposed to be put in a free list somewhere and freed on
state change to READY later?

diff --git a/ext/ffmpeg/gstffmpegdec.c b/ext/ffmpeg/gstffmpegdec.c
index 0b6d621..1e612f9 100644
--- a/ext/ffmpeg/gstffmpegdec.c
+++ b/ext/ffmpeg/gstffmpegdec.c
@@ -2070,6 +2070,7 @@ gst_ffmpegdec_audio_frame (GstFFMpegDec * ffmpegdec,
       goto clipped;

   } else if (len > 0 && have_data == 0) {
+    gst_buffer_unref (*outbuf);
     /* cache output, because it may be used for caching (in-place) */
     *outbuf = NULL;
   } else {

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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