<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Andy Grundman wrote:
<blockquote
 cite="mid:8C38D2CA-0AD0-4225-A273-E2277F874828@slimdevices.com"
 type="cite">
  <pre wrap="">On Nov 24, 2008, at 11:22 PM, Nicholas Vinen wrote:

  </pre>
  <blockquote type="cite">
    <pre wrap="">I submitted a patch to the mailing list a day or two ago but it's  
stuck
in moderation. So here's a URL for it:

<a class="moz-txt-link-freetext" href="http://x256.org/~hb/Tremor.patch">http://x256.org/~hb/Tremor.patch</a> <a class="moz-txt-link-rfc2396E" href="http://x256.org/%7Ehb/Tremor.patch">&lt;http://x256.org/%7Ehb/Tremor.patch&gt;</a>

It seems to work fine, at least with my test files. I didn't include a
function to clear the allocation counters between files, which is
necessary because I stubbed out most of the free() calls. Just set all
the "*_allocated" counters in tmem to 0 after you deinit the Vorbis
decode and before you reinitialise it.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Hi Nicholas,

I'm quite interested in your patch, especially the comment-skipping  
code.  I am also interested in Nate Weibley's work on the same issue.   
Nate: How is your patch coming?

Your static memory patch is interesting because of another bug we have  
around memory allocation.  Have you tested your patch with multiple  
Vorbis streams concatenated together (chaining/sequential  
multiplexing)?  This is common in Ogg radio streams, and we have some  
memory issues surrounding this.

-Andy
_______________________________________________
Tremor mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Tremor@xiph.org">Tremor@xiph.org</a>
<a class="moz-txt-link-freetext" href="http://lists.xiph.org/mailman/listinfo/tremor">http://lists.xiph.org/mailman/listinfo/tremor</a>
  </pre>
</blockquote>
<br>
Interesting. I just did some testing. I took two files that play fine
with the statically allocated Tremor, concatenated them, and tried to
play the result.<br>
<br>
What seems to happen is that when it hits the second Ogg stream, it
tries to allocate a number of things ("bookparam", "dectable", "work2"
and "mdct2") without having deallocated the previously used buffers.
This causes my code to abort.<br>
<br>
I think the solution will be for me to figure out why it's doing this
and fix it. I don't know that it's related to static memory usage or
not, and I don't know if it's a leak as such, possibly just not very
clever memory management - i.e. it keeps old data allocated which is no
longer needed, and probably only deallocates it at the end of playback.<br>
<br>
I'll get back to you if I manage to fix it up so that the transition
between the two streams doesn't require memory above that required to
play either stream individually.<br>
<br>
<br>
Nicholas<br>
<br>
</body>
</html>