I guess my ultimate question is: Do you indicate the end-of-stream by just setting ogg_packet = 1 and then ogg_stream_packetin(ogg_packet)?<br>Isnt the API internally supposed to use the packet's EOS flag to set it internally in the page and stream_state? I made sure I was looping on the flush and the pageout (even though the code around it insured they were unique) and I still get the EOS flag missing in the bitstream.
<br><br><div><span class="gmail_quote">On 6/7/06, <b class="gmail_sendername">Ralph Giles</b> <<a href="mailto:giles@xiph.org">giles@xiph.org</a>> 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>> I was wondering. When doing ogg only encoding, how do you mark end of<br>> stream? I am setting ogg_packet.e_o_s and then submitting it via
<br>> ogg_stream_packetin() and then, because<br>> its the last potential page ogg_stream_flush()ing it. But when I walk<br>> 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>