cannam@86: cannam@86: cannam@86: cannam@86: libogg - datatype - ogg_stream_state cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86:

libogg documentation

libogg release 1.3.0 - 20110804

cannam@86: cannam@86:

ogg_stream_state

cannam@86: cannam@86:

declared in "ogg/ogg.h"

cannam@86: cannam@86:

cannam@86: The ogg_stream_state struct tracks the current encode/decode state of the current logical bitstream. cannam@86:

cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86:
cannam@86:

cannam@86: typedef struct {
cannam@86:   unsigned char   *body_data;    /* bytes from packet bodies */
cannam@86:   long    body_storage;          /* storage elements allocated */
cannam@86:   long    body_fill;             /* elements stored; fill mark */
cannam@86:   long    body_returned;         /* elements of fill returned */
cannam@86: 
cannam@86: 
cannam@86:   int     *lacing_vals;    /* The values that will go to the segment table */
cannam@86:   ogg_int64_t *granule_vals;      /* granulepos values for headers. Not compact
cannam@86:                              this way, but it is simple coupled to the
cannam@86:                              lacing fifo */
cannam@86:   long    lacing_storage;
cannam@86:   long    lacing_fill;
cannam@86:   long    lacing_packet;
cannam@86:   long    lacing_returned;
cannam@86: 
cannam@86:   unsigned char    header[282];      /* working space for header encode */
cannam@86:   int              header_fill;
cannam@86: 
cannam@86:   int     e_o_s;          /* set when we have buffered the last packet in the
cannam@86:                              logical bitstream */
cannam@86:   int     b_o_s;          /* set after we've written the initial page
cannam@86:                              of a logical bitstream */
cannam@86:   long     serialno;
cannam@86:   int      pageno;
cannam@86:   ogg_int64_t  packetno;      /* sequence number for decode; the framing
cannam@86:                              knows where there's a hole in the data,
cannam@86:                              but we need coupling so that the codec
cannam@86:                              (which is in a seperate abstraction
cannam@86:                              layer) also knows about the gap */
cannam@86:   ogg_int64_t   granulepos;
cannam@86: 
cannam@86: } ogg_stream_state;
cannam@86: 
cannam@86:
cannam@86: cannam@86:

Relevant Struct Members

cannam@86:
cannam@86:
body_data
cannam@86:
Pointer to data from packet bodies.
cannam@86:
body_storage
cannam@86:
Storage allocated for bodies in bytes (filled or unfilled).
cannam@86:
body_fill
cannam@86:
Amount of storage filled with stored packet bodies.
cannam@86:
body_returned
cannam@86:
Number of elements returned from storage.
cannam@86:
lacing_vals
cannam@86:
String of lacing values for the packet segments within the current page. Each value is a byte, indicating packet segment length.
cannam@86:
granule_vals
cannam@86:
Pointer to the lacing values for the packet segments within the current page.
cannam@86:
lacing_storage
cannam@86:
Total amount of storage (in bytes) allocated for storing lacing values.
cannam@86:
lacing_fill
cannam@86:
Fill marker for the current vs. total allocated storage of lacing values for the page.
cannam@86:
lacing_packet
cannam@86:
Lacing value for current packet segment.
cannam@86:
lacing_returned
cannam@86:
Number of lacing values returned from lacing_storage.
cannam@86:
header
cannam@86:
Temporary storage for page header during encode process, while the header is being created.
cannam@86:
header_fill
cannam@86:
Fill marker for header storage allocation. Used during the header creation process.
cannam@86:
e_o_s
cannam@86:
Marker set when the last packet of the logical bitstream has been buffered.
cannam@86:
b_o_s
cannam@86:
Marker set after we have written the first page in the logical bitstream.
cannam@86:
serialno
cannam@86:
Serial number of this logical bitstream.
cannam@86:
pageno
cannam@86:
Number of the current page within the stream.
cannam@86:
packetno
cannam@86:
Number of the current packet.
cannam@86:
granulepos
cannam@86:
Exact position of decoding/encoding process.
cannam@86:
cannam@86: cannam@86: cannam@86:

cannam@86:
cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86:

copyright © 2000-2011 Xiph.Org

Ogg Container Format

libogg documentation

libogg release 1.3.0 - 20110804

cannam@86: cannam@86: cannam@86: cannam@86: