libogg documentation

libogg release 1.3.4 - 20190830


declared in "ogg/ogg.h";

This function forms packets into pages.

In a typical encoding situation, this would be called after using ogg_stream_packetin() to submit data packets to the bitstream. Internally, this function assembles the accumulated packet bodies into an Ogg page suitable for writing to a stream. The function is typically called in a loop until there are no more pages ready for output.

This function will only return a page when a "reasonable" amount of packet data is available. Normally this is appropriate since it limits the overhead of the Ogg page headers in the bitstream, and so calling ogg_stream_pageout() after ogg_stream_packetin() should be the common case. Call ogg_stream_flush() if immediate page generation is desired. This may be occasionally necessary, for example, to limit the temporal latency of a variable bitrate stream.

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


Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
Pointer to an ogg_page structure to fill in. Data pointed to is owned by libogg. The structure is valid until the next call to ogg_stream_pageout(), ogg_stream_packetin(), or ogg_stream_flush().

Return Values

  • Zero means that insufficient data has accumulated to fill a page, or an internal error occurred. In this case og is not modified.
  • Non-zero means that a page has been completed and returned.

  • copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830