libogg documentation | libogg release 1.1.3 - 20040927

# ogg_stream_packetout

declared in "ogg/ogg.h";

This function assembles a raw data packet for output to the codec decoding engine. The data is already in the stream and broken into packet segments. Each successive call returns the next complete packet built from those segments.

In a typical decoding situation, this should be used after calling ogg_stream_pagein() to submit a page of data to the bitstream. If the function returns 0, more data is needed and another page should be submitted. A non-zero return value indicates successful return of a packet.

    int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);

### Parameters

os
  Pointer to a previously declared ogg_stream_state struct. Before this function is called, an ogg_page should be submitted to the stream using ogg_stream_pagein().
op
  Pointer to the packet to be filled in with pointers to the new data. This will typically be submitted to a codec for decode after this function is called.

### Return Values

> - -1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error. op contains a the first packet decodable after the hole.
> - 0 if there is insufficient data available to complete a packet. op has not been updated.
> - 1 if a packet was assembled normally. op contains the next packet from the stream.

copyright © 2004 xiph.org | Ogg Vorbis team@xiph.org
libogg documentation | libogg release 1.1.3 - 20040927