# oggz_constants.h File Reference

General constants used by liboggz. More...

Go to the source code of this file.

## Typedefs
typedef enum OggzStreamContent | OggzStreamContent
| Definition of stream content types.
## Enumerations
enum | OggzFlags { OGGZ_READ = 0x00, OGGZ_WRITE = 0x01, OGGZ_NONSTRICT = 0x10, OGGZ_AUTO = 0x20, OGGZ_PREFIX = 0x40, OGGZ_SUFFIX = 0x80 }
| Flags to oggz_new(), oggz_open(), and oggz_openfd(). More...
enum | OggzStopCtl { OGGZ_CONTINUE = 0, OGGZ_STOP_OK = 1, OGGZ_STOP_ERR = -1 }
enum | OggzFlushOpts { OGGZ_FLUSH_BEFORE = 0x01, OGGZ_FLUSH_AFTER = 0x02 }
| Flush options for oggz_write_feed; can be or'ed together. More...
enum | OggzStreamContent { OGGZ_CONTENT_THEORA = 0, OGGZ_CONTENT_VORBIS, OGGZ_CONTENT_SPEEX, OGGZ_CONTENT_PCM, OGGZ_CONTENT_CMML, OGGZ_CONTENT_ANX2, OGGZ_CONTENT_SKELETON, OGGZ_CONTENT_FLAC0, OGGZ_CONTENT_FLAC, OGGZ_CONTENT_ANXDATA, OGGZ_CONTENT_CELT, OGGZ_CONTENT_KATE, OGGZ_CONTENT_DIRAC, OGGZ_CONTENT_UNKNOWN }
| Definition of stream content types.
enum | OggzError { OGGZ_ERR_OK = 0, OGGZ_ERR_GENERIC = -1, OGGZ_ERR_BAD_OGGZ = -2, OGGZ_ERR_INVALID = -3, OGGZ_ERR_NO_STREAMS = -4, OGGZ_ERR_BOS = -5, OGGZ_ERR_EOS = -6, OGGZ_ERR_BAD_METRIC = -7, OGGZ_ERR_SYSTEM = -10, OGGZ_ERR_DISABLED = -11, OGGZ_ERR_NOSEEK = -13, OGGZ_ERR_STOP_OK = -14, OGGZ_ERR_STOP_ERR = -15, OGGZ_ERR_IO_AGAIN = -16, OGGZ_ERR_HOLE_IN_DATA = -17, OGGZ_ERR_OUT_OF_MEMORY = -18, OGGZ_ERR_BAD_SERIALNO = -20, OGGZ_ERR_BAD_BYTES = -21, OGGZ_ERR_BAD_B_O_S = -22, OGGZ_ERR_BAD_E_O_S = -23, OGGZ_ERR_BAD_GRANULEPOS = -24, OGGZ_ERR_BAD_PACKETNO = -25, OGGZ_ERR_COMMENT_INVALID = -129, OGGZ_ERR_BAD_GUARD = -210, OGGZ_ERR_RECURSIVE_WRITE = -266 }
| Definitions of error return values. More...

## Detailed Description

General constants used by liboggz.

## Enumeration Type Documentation

enum OggzError

Definitions of error return values.

Enumerator:

  OGGZ_ERR_OK | No error.
  OGGZ_ERR_GENERIC | generic error
  OGGZ_ERR_BAD_OGGZ | oggz is not a valid OGGZ
  OGGZ_ERR_INVALID | The requested operation is not suitable for this OGGZ.
  OGGZ_ERR_NO_STREAMS | oggz contains no logical bitstreams
  OGGZ_ERR_BOS | Operation is inappropriate for oggz in current bos state.
  OGGZ_ERR_EOS | Operation is inappropriate for oggz in current eos state.
  OGGZ_ERR_BAD_METRIC | Operation requires a valid metric, but none has been set.
  OGGZ_ERR_SYSTEM | System specific error; check errno for details.
  OGGZ_ERR_DISABLED | Functionality disabled at build time.
  OGGZ_ERR_NOSEEK | Seeking operation is not possible for this OGGZ.
  OGGZ_ERR_STOP_OK | Reading was stopped by an OggzReadCallback returning OGGZ_STOP_OK or writing was stopped by an OggzWriteHungry callback returning OGGZ_STOP_OK.
  OGGZ_ERR_STOP_ERR | Reading was stopped by an OggzReadCallback returning OGGZ_STOP_ERR or writing was stopped by an OggzWriteHungry callback returning OGGZ_STOP_ERR.
  OGGZ_ERR_IO_AGAIN | no data available from IO, try again
  OGGZ_ERR_HOLE_IN_DATA | Hole (sequence number gap) detected in input data.
  OGGZ_ERR_OUT_OF_MEMORY | Out of memory.
  OGGZ_ERR_BAD_SERIALNO | The requested serialno does not exist in this OGGZ.
  OGGZ_ERR_BAD_BYTES | Packet disallowed due to invalid byte length.
  OGGZ_ERR_BAD_B_O_S | Packet disallowed due to invalid b_o_s (beginning of stream) flag.
  OGGZ_ERR_BAD_E_O_S | Packet disallowed due to invalid e_o_s (end of stream) flag.
  OGGZ_ERR_BAD_GRANULEPOS | Packet disallowed due to invalid granulepos.
  OGGZ_ERR_BAD_PACKETNO | Packet disallowed due to invalid packetno.
  OGGZ_ERR_COMMENT_INVALID | Comment violates VorbisComment restrictions.
  OGGZ_ERR_BAD_GUARD | Guard provided by user has non-zero value.
  OGGZ_ERR_RECURSIVE_WRITE | Attempt to call oggz_write() or oggz_write_output() from within a hungry() callback.

enum OggzFlags

Flags to oggz_new(), oggz_open(), and oggz_openfd().

Can be or'ed together in the following combinations:

- OGGZ_READ | OGGZ_AUTO
- OGGZ_WRITE | OGGZ_NONSTRICT | OGGZ_PREFIX | OGGZ_SUFFIX

Enumerator:

  OGGZ_READ | Read only.
  OGGZ_WRITE | Write only.
  OGGZ_NONSTRICT | Disable strict adherence to mapping constraints, eg for handling an incomplete stream.
  OGGZ_AUTO | Scan for known headers while reading, and automatically set metrics appropriately. Opening a file for reading with flags = OGGZ_READ | OGGZ_AUTO will allow seeking on Speex, Vorbis, FLAC, Theora, CMML and all Annodex streams in units of milliseconds, once all bos pages have been delivered.
  OGGZ_PREFIX | Write Prefix: Assume that we are only writing the prefix of an Ogg stream, ie. disable checking for conformance with end-of-stream constraints.
  OGGZ_SUFFIX | Write Suffix: Assume that we are only writing the suffix of an Ogg stream, ie. disable checking for conformance with beginning-of-stream constraints.

enum OggzFlushOpts

Flush options for oggz_write_feed; can be or'ed together.

Enumerator:

  OGGZ_FLUSH_BEFORE | Flush all streams before beginning this packet.
  OGGZ_FLUSH_AFTER | Flush after this packet.

enum OggzStopCtl

Enumerator:

  OGGZ_CONTINUE | Continue calling read callbacks.
  OGGZ_STOP_OK | Stop calling callbacks, but retain buffered packet data.
  OGGZ_STOP_ERR | Stop calling callbacks, and purge buffered packet data.