libogg documentation | libogg release 1.3.0 - 20110804

# ogg_stream_flush

declared in "ogg/ogg.h";

This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page.

This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout or ogg_stream_pageout_fillshould always be used.

This function can also be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. Like ogg_stream_pageout, it should generally be called in a loop until available packet data has been flushes, since even a single packet may span multiple pages.

    int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);

### Parameters

os
  Pointer to a previously declared ogg_stream_state struct, which represents the current logical bitstream.
og
  Pointer to a page of data. The remaining packets in the stream will be placed into this page, if any remain.

### Return Values

> - 0 means that all packet data has already been flushed into pages, and there are no packets to put into the page. 0 is also returned in the case of an ogg_stream_state that has been cleared explicitly or implicitly due to an internal error.
> - Nonzero means that remaining packets have successfully been flushed into the page.

copyright © 2000-2011 Xiph.Org | Ogg Container Format
libogg documentation | libogg release 1.3.0 - 20110804