GNOME Bugzilla – Bug 549883
gstreamer leaks memory streaming mp4 movies
Last modified: 2009-05-29 19:52:51 UTC
Please describe the problem: I have attached a video file that, when gstreamer plays it, it "eats" a lot of memory. Be warned, however, that the memory leak only happens when this file is not stored somewhere locally but on the internet. Steps to reproduce: 1. Try to play the attached file with any application that uses gstreamer (the play.py program that comes as an example in gst-python could be a good example...) Actual results: Memory leakage. Expected results: Does this happen every time? Yes Other information:
The file was quite large so I uploaded it over here: http://elemongw.exofire.net/downloads/example.mp4
Works great here with latest releases when letting totem play the file remotely... Does it "eat" a lot of memory at the beginning only for you or does the amount of memory increase over time? How much is it btw? :) Also, which versions of all the gstreamer modules and which distribution are you using?
Distribution: Opensuse 11.0 Gstreamer 0.10.19 gstreamer-ffmpeg 0.10.4 gstreamer-bad 0.10.7 gstreamer-base 0.10.19 gstreamer 0.10.8 I think only those are that matter.... Yes it "eats" memory at the beginning but that is logical. After that, the amount of memory usage is increasing slowly and at the end of the video the amount of memory increased is as big as the video file. So, in this case, it is 1.8 MB. Maybe that's why you didn't notice it? You could try playing a rather big video in youtube (as long as you extract the video url, there are plenty of tools that do this, also be careful for the video to be in high quality mode, which is &fmt=18 appended to the url of the video) for more visible results.
I'm not really sure what to do about this. There isn't enough information to go on really. The above file isn't available any longer, but I've tried with 'totem http://movies.apple.com/movies/focus_features/9/9-tlr2_h480.mov' and others and memory usage is absolutely steady once it is playing. I'm not aware of any major leaks and I think at least the embedded people would have noticed. Also, how are you measuring this exactly? What tools? What do they show exactly? There are some clips which have all the stream information at the end of the file, in which case qtdemux would try to cache the entire file in RAM before playing it, but that's on purpose then. Not sure if it still does that. Also, this doesn't happen with files that are made for streaming. Anyway, closing this bug for now. Please do re-open if it's still an issue with up-to-date GStreamer modules and you can provide more information.