<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
I agree, in an application like mine (making a portable Ogg Vorbis
player from a small embedded system) read-ahead wouldn't be too
difficult to implement, and RAM space is critical. Every block I can
avoid allocating for an Ogg buffer can go towards buffering decoded
audio. So that solution sounds good for my particular application.<br>
<br>
<br>
Nicholas<br>
<br>
<br>
Ethan Bordeaux wrote:
<blockquote
 cite="mid:3e7283d70909081143v27e8c247uc9bc65d614d8acf6@mail.gmail.com"
 type="cite">Hey that's great you're looking into this.&nbsp; Personally I
think option #1 would be the better choice for me, as maintaining usage
and validity of checksums is quite important for my application.&nbsp; That
said, I'm not sure I quite get what the downside to the first option
would be, so I can't say for certain if there wouldn't be issues with
the dual stream pointers.&nbsp; Still, it's great to hear that this is
working its way officially into Tremor.<br>
  <br>
Ethan<br>
  <br>
  <div class="gmail_quote">On Tue, Sep 8, 2009 at 2:22 PM, <span
 dir="ltr">&lt;<a moz-do-not-send="true" href="mailto:xiphmont@xiph.org">xiphmont@xiph.org</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div class="im">&gt; Monty - if I remember correctly there were
some vague plans to officially<br>
&gt; incorporate this sort of feature into the source.&nbsp; Is that right?<br>
&gt; Personally I think it would be a huge help, especially to have the
ability<br>
&gt; to skip large tags like image files while still maintaining the
basic<br>
&gt; metadata.<br>
    <br>
    </div>
Yes, and I've actually worked a bit on it. &nbsp;It boils down to doing it<br>
one of two ways: Having two seperate pointers into the stream (pointer<br>
A can read ahead and do framing without any need to actually buffer,<br>
pointer B is on-demand data reading and if there's no demand for the<br>
data it can just skip past. &nbsp;This scheme means buffering overhead is<br>
essentially zero, but you need to be able to have two stream pointers,<br>
so it's not really streaming) or the second possibility is ignoring<br>
checksum and only doing 'light framing' where any damage to the stream<br>
would get through and be read as data (to be fair, this is how most<br>
other non-Ogg systems work).<br>
    <br>
Monty<br>
  </blockquote>
  </div>
  <br>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
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>
</body>
</html>