[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