libogg documentation | libogg release 1.3.5 - 20210603

# ogg_page

declared in "ogg/ogg.h"

The ogg_page struct encapsulates the data for an Ogg page.

Ogg pages are the fundamental unit of framing and interleave in an ogg bitstream. They are made up of packet segments of 255 bytes each. There can be as many as 255 packet segments per page, for a maximum page size of a little under 64 kB. This is not a practical limitation as the segments can be joined across page boundaries allowing packets of arbitrary size. In practice many applications will not completely fill all pages because they flush the accumulated packets periodically order to bound latency more tightly.

For a complete description of ogg pages and headers, please refer to the framing document.

    typedef struct {
      unsigned char *header;
      long           header_len;
      unsigned char *body;
      long           body_len;
    } ogg_page;

### Relevant Struct Members

header
  Pointer to the page header for this page. The exact contents of this header are defined in the framing spec document.
header_len
  Length of the page header in bytes.
body
  Pointer to the data for this page.
body_len
  Length of the body data in bytes.

copyright © 2000-2021 Xiph.Org Foundation | Ogg Container Format
libogg documentation | libogg release 1.3.5 - 20210603