libogg documentation

libogg release 1.3.5 - 20210603

ogg_stream_pageout_fill

declared in "ogg/ogg.h";

This function forms packets into pages, similar to ogg_stream_pageout(), but allows applications to explicitly request a specific page spill size.

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 return a page when at least four packets have been accumulated and accumulated packet data meets or exceeds the specified number of bytes, and/or when the accumulated packet data meets/exceeds the maximum page size regardless of accumulated packet count. Call ogg_stream_flush() or ogg_stream_flush_fill() if immediate page generation is desired regardless of accumulated data.




int ogg_stream_pageout_fill(ogg_stream_state *os, ogg_page *og, int fillbytes);

Parameters

os
Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
og
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().
fillbytes
Packet data watermark in bytes.

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-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.5 - 20210603