<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Jan 19, 2014 at 4:17 AM, Sebastian Dröge <span dir="ltr"><<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">On Fr, 2014-01-17 at 17:58 -0500, Lei Miao wrote:<br>

> After reading Apple's QuickTime File Format Specification and digging<br>
> into gstreamer's code, I figured out what caused my problem.<br>
><br>
> I should first point it out that when playing m4a files, the memory<br>
> usage of gstreamer is proportional to the time duration of the file, not<br>
> the file size.<br>
><br>
> QuickTime stores media data in samples. The number of a samples in m4a<br>
> files are huge. For example, a 6hr m4a file has about 950,000 samples.<br>
> Because qtdemux.c creates a sample table whose size is proportional to<br>
> the number of samples, the buffer could be very big. For an m4a file<br>
> 6:11:46 long, I got:<br>
><br>
</div>> [...]<br>
<div class="im">><br>
> Could somebody take a look at this issue and improve qtdemux? Any<br>
> comments/suggestions are appreciated.<br>
<br>
</div>It could be improved by only loading a sparse version of that table<br>
(e.g. every second entry only) or by lazy-loading the table (i.e. only<br>
remember where it is and load whatever is needed when it is needed<br>
during seeking). Or a combination of both approaches (note: the second<br>
won't work very well in push mode).<br>
<span class=""><font color="#888888"><br>
--<br>
Sebastian Dröge, Centricular Ltd - <a href="http://www.centricular.com" target="_blank">http://www.centricular.com</a><br>
Expertise, Straight from the Source<br>
</font></span><br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote><div><br></div><div>Thank you for the input. I created a case at bugzilla: <b style="color:rgb(102,51,102);font-family:'Bitstream Vera Sans','Luxi Sans','Lucida Grande','Trebuchet MS',helvetica,verdana,arial,sans-serif;font-size:16.399999618530273px;font-weight:bold"><a href="https://bugzilla.gnome.org/show_bug.cgi?id=722639" style="color:rgb(102,51,102);font-family:'Bitstream Vera Sans','Luxi Sans','Lucida Grande','Trebuchet MS',helvetica,verdana,arial,sans-serif;font-size:16.399999618530273px;font-weight:bold">Bug 722639</a></b> to keep track of this issue. </div>
<div><br></div><div>LM</div></div><br></div></div>