[Bug 744253] New: [uridecodebin] Memory leak in internal multiqueue with DASH stream
bugzilla at gnome.org
bugzilla at gnome.org
Tue Feb 10 03:39:23 PST 2015
https://bugzilla.gnome.org/show_bug.cgi?id=744253
Bug ID: 744253
Summary: [uridecodebin] Memory leak in internal multiqueue with
DASH stream
Classification: Platform
Product: GStreamer
Version: unspecified
OS: Linux
Status: UNCONFIRMED
Severity: major
Priority: Normal
Component: gst-plugins-base
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: dv at pseudoterminal.org
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Hello,
This gst-launch line leaks rapidly:
gst-launch-1.0 uridecodebin
uri=http://rdmedia.bbc.co.uk/dash/ondemand/testcard/1/client_manifest-720p-stereo-nodvb.mpd
caps="video/x-h264 ; audio/mpeg" ! fakesink sync=true
After examination, it turns out that the cause is an internal multiqueue that
is steadily increasing its internal limit, apparently because one queue is not
linked.
Here is an excerpt of log lines that show the leak:
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2507/2508, bytes 6664375/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2508/2508, bytes 6667271/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2508/2509, bytes 6667271/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2509/2509, bytes 6670167/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2509/2510, bytes 6670167/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2510/2510, bytes 6673063/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2510/2511, bytes 6673063/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2511/2511, bytes 6675959/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2511/2512, bytes 6675959/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2512/2512, bytes 6677407/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2512/2513, bytes 6677407/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2513/2513, bytes 6681503/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2513/2514, bytes 6681503/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2514/2514, bytes 6681751/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2514/2515, bytes 6681751/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2515/2515, bytes 6684647/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2515/2516, bytes 6684647/0, time 7680000000/0
gstmultiqueue.c:2230:single_queue_check_full:<multiqueue0> queue 0: visible
2516/2516, bytes 6687543/0, time 7680000000/0
and this shows when it is increased:
gstmultiqueue.c:2136:single_queue_overrun_cb:<multiqueue0> Queue 1 is
not-linked
gstmultiqueue.c:2157:single_queue_overrun_cb:<multiqueue0> All other queues are
not linked
gstmultiqueue.c:2163:single_queue_overrun_cb:<multiqueue0> Bumping single queue
0 max visible to 2448
gstmultiqueue.c:2136:single_queue_overrun_cb:<multiqueue0> Queue 1 is
not-linked
gstmultiqueue.c:2157:single_queue_overrun_cb:<multiqueue0> All other queues are
not linked
gstmultiqueue.c:2163:single_queue_overrun_cb:<multiqueue0> Bumping single queue
0 max visible to 2449
gstmultiqueue.c:2136:single_queue_overrun_cb:<multiqueue0> Queue 1 is
not-linked
gstmultiqueue.c:2157:single_queue_overrun_cb:<multiqueue0> All other queues are
not linked
gstmultiqueue.c:2163:single_queue_overrun_cb:<multiqueue0> Bumping single queue
0 max visible to 2450
gstmultiqueue.c:2136:single_queue_overrun_cb:<multiqueue0> Queue 1 is
not-linked
gstmultiqueue.c:2157:single_queue_overrun_cb:<multiqueue0> All other queues are
not linked
gstmultiqueue.c:2163:single_queue_overrun_cb:<multiqueue0> Bumping single queue
0 max visible to 2451
gstmultiqueue.c:2136:single_queue_overrun_cb:<multiqueue0> Queue 1 is
not-linked
gstmultiqueue.c:2157:single_queue_overrun_cb:<multiqueue0> All other queues are
not linked
gstmultiqueue.c:2163:single_queue_overrun_cb:<multiqueue0> Bumping single queue
0 max visible to 2452
This happens with all versions up to and including the current git one. On the
PC it does not happen with playbin, however. It also does not happen wih these
other pipelines:
gst-launch-1.0 uridecodebin
uri=http://rdmedia.bbc.co.uk/dash/ondemand/testcard/1/client_manifest-720p-stereo-nodvb.mpd
caps="audio/x-m4a ; video/quicktime" ! fakesink sync=true
gst-launch-1.0 souphttpsrc
location=http://rdmedia.bbc.co.uk/dash/ondemand/testcard/1/client_manifest-720p-stereo-nodvb.mpd
! decodebin caps="video/x-h264 ; audio/mpeg" ! fakesink sync=true
I presume because in both cases, that multiqueue0 isn't present.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-bugs/attachments/20150210/ef77a2f5/attachment-0001.html>
More information about the gstreamer-bugs
mailing list