Ok, so when I'm writing my pages I'm doing this…<br><br>while(vorbis_bitrate_flushpacket(vorbisDsp,oggPacket))<br>                {<br><div style="margin-left: 40px;">                        ogg_stream_packetin(oggStream,oggPacket);<br><br></div><div style="margin-left: 40px;">
                                int result=ogg_stream_pageout(oggStream,oggPage);<br></div><div style="margin-left: 40px;">                                if(result==0)<br><div style="margin-left: 40px;">break;<br></div></div><br><div style="margin-left: 40px;">                                fwrite(oggPage->header,1,oggPage->header_len,newFile);
<br>                                fwrite(oggPage->body,1,oggPage->body_len,newFile);<br><br>                                if(ogg_page_eos(oggPage))<br><div style="margin-left: 40px;">eos=1;<br></div></div>                        }<br><br>And if i'm reading what you said correctly, when i do the " if (result==0) " check i should call ogg_stream_flush before i break?
<br><br>On Dec 13, 2007 3:34 PM, Ralph Giles <<a href="mailto:giles@xiph.org">giles@xiph.org</a>> wrote:<br>> Without seeing code, I'd suggest making sure you're flushing *all* the<br>> pages out of the ogg_stream and writing them out. Silence compresses
<br>> well, so if you don't call 'ogg_stream_flush' you may not see a page for<br>> some time.<br>> <br>> Note that for streamability you should always call ogg_stream_flush<br>> if ogg_stream_pageout hasn't returned a page in more than a couple
<br>> seconds of input data. libogg isn't smart enough to handle this for you,<br>> and it can cause underruns when streaming.<br>> <br>> -r<br>> <br><br><br><br>-- <br>~Jim<br>