libogg documentation

libogg release 1.3.5 - 20210603

Encoding

Libogg contains a set of functions used in the encoding process.

All the libogg specific functions are declared in "ogg/ogg.h".

When encoding, the encoding engine will output raw packets which must be placed into an Ogg bitstream.

Raw packets are inserted into the stream, and an ogg_page is output when enough packets have been written to create a full page. The pages output are pointers to buffered packet segments, and can then be written out and saved as an ogg stream.

There are a couple of basic steps:



function purpose
ogg_stream_packetin Submits a raw packet to the streaming layer, so that it can be formed into a page.
ogg_stream_iovecin iovec version of ogg_stream_packetin() above.
ogg_stream_pageout Outputs a completed page if the stream contains enough packets to form a full page.
ogg_stream_pageout_fill Similar to ogg_stream_pageout(), but specifies a page spill threshold in bytes.
ogg_stream_flush Forces any remaining packets in the stream to be returned as a page of any size.
ogg_stream_flush_fill Similar to ogg_stream_flush(), but specifies a page spill threshold in bytes.



copyright © 2000-2021 Xiph.Org Foundation

Ogg Container Format

libogg documentation

libogg release 1.3.5 - 20210603