Hey that&#39;s great you&#39;re looking into this.  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.  That said, I&#39;m not sure I quite get what the downside to the first option would be, so I can&#39;t say for certain if there wouldn&#39;t be issues with the dual stream pointers.  Still, it&#39;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 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.  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&#39;ve actually worked a bit on it.  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&#39;s no demand for the<br>
data it can just skip past.  This scheme means buffering overhead is<br>
essentially zero, but you need to be able to have two stream pointers,<br>
so it&#39;s not really streaming) or the second possibility is ignoring<br>
checksum and only doing &#39;light framing&#39; 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>