ok, I know its faux pas to post code snippets but will pseudo code be ok? I am not quite sure if I fully understand the logic of how this is suppose d to work. I assumed that from a design perspective developers dont need to manipulate the page structures, just to submit packets to them, test if they were full, and if they were flush them. Is this a correct assumption?
<br>Here is essentially what I am trying.<br>while (amtread = fread(readbuf, file)){<br>&nbsp; ogg_packet.bytes = amtread<br>&nbsp; if first_read_from_file then<br>&nbsp;&nbsp;&nbsp; ogg_packet.b_o_s = 1<br>&nbsp; if amtread &lt; PACKETSIZE then<br>&nbsp;&nbsp;&nbsp; ogg_packet.e_o_s = 1 
<br>&nbsp; ogg_packet.packet = readbuf<br>&nbsp; ogg_stream_packetin()<br>&nbsp; if (ogg_stream_pageout()) then<br>&nbsp;&nbsp;&nbsp; write_page_to_file()<br>&nbsp; elseif (amtread &lt; PACKETSIZE) then<br>&nbsp;&nbsp;&nbsp; ogg_stream_flush() and write_page_to_file()<br>
}<br><div><span class="gmail_quote">On 6/7/06, <b class="gmail_sendername">Ralph Giles</b> &lt;<a href="mailto:giles@xiph.org">giles@xiph.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Wed, Jun 07, 2006 at 06:21:23PM -0400, Stephen Whiters-Ridley wrote:<br>&gt; I was wondering. When doing ogg only encoding, how do you mark end of<br>&gt; stream? I am setting ogg_packet.e_o_s and then submitting it via
<br>&gt; ogg_stream_packetin() and then, because<br>&gt; its the last potential page ogg_stream_flush()ing it. But when I walk<br>&gt; through the file, EOS is not set on that logical bitstream.<br><br>That sounds about right. Of course with the encoders, you pass 'last=1'
<br>when you submit the last bit of uncompressed data and it should set the<br>eos flag in the ogg_packet structure itself.<br><br>One idea: are you looping over your ogg_stream_flush() in case it has<br>multiple pages of data to return. That might explian why you're not
<br>seeing the flag, especially if you also forgot to loop on<br>ogg_stream_pageout(). :-)<br><br>FWIW,<br> -r<br></blockquote></div><br>