Chris@1: Chris@1: Chris@1: Chris@1: libogg - datatype - ogg_stream_state Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1:

libogg documentation

libogg release 1.3.0 - 20110804

Chris@1: Chris@1:

ogg_stream_state

Chris@1: Chris@1:

declared in "ogg/ogg.h"

Chris@1: Chris@1:

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

Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1:
Chris@1:

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

Relevant Struct Members

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

Chris@1:
Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1:

copyright © 2000-2011 Xiph.Org

Ogg Container Format

libogg documentation

libogg release 1.3.0 - 20110804

Chris@1: Chris@1: Chris@1: Chris@1: