[Bug 736758] New: Memory leak when switching between MPEG2 TS streams

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Sep 16 09:13:11 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=736758
  GStreamer | qt-gstreamer | git

           Summary: Memory leak when switching between MPEG2 TS streams
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: qt-gstreamer
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: benjamin.federau at basyskom.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=286309)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=286309)
qmlplayer3 test app

I found a memory leak with qt-gstreamer 1.2.0 using the qtquick2videosink.
On my laptop and on some i.MX6 board I clearly see that on every "switch" from
one MPEG2 TS stream to another main memory is consumed and not freed.

I created a test app which reproduces the behaviour. (see qmlplayer3.tar.bz2)
This app simulates stream switches using a timer. This means every 3 seconds
the pipeline is stopped, the uri is changed and the pipeline is restarted.

Two example streams can be found at:
https://www.dropbox.com/s/fia0e3ozky5udqr/stream_239.4.1.8_dump.ts?dl=0
https://www.dropbox.com/s/9p8ktvs5dq7wzbw/stream_239.8.1.2_dump.ts?dl=0


With qt-gstreamer and Qt 5.x do:
$> tar -xf qmlplayer3.tar.bz2
$> cd qmlplayer3
$> qmake
$> make
$> ./qmlplayer3 file:///tmp/stream_239.4.1.8_dump.ts
file:///tmp/stream_239.8.1.2_dump.ts

(click start and see with free -m the memory consumptions raises)

I can fix this by changing in the
elements/gstqtvideosink/delegates/basedelegate.cpp in the DeactivateEventType
case the line

  g_clear_pointer(&m_buffer, gst_buffer_unref);
to
  gst_buffer_unref(m_buffer);

After this change I see that main memory is consumed but also freed after every
stream switch.

-- 
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