liboggz: oggz_constants.h Source File

liboggz 1.1.3

oggz_constants.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2003 Commonwealth Scientific and Industrial Research
3 Organisation (CSIRO) Australia
4
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions
7 are met:
8
9 - Redistributions of source code must retain the above copyright
10 notice, this list of conditions and the following disclaimer.
11
12 - Redistributions in binary form must reproduce the above copyright
13 notice, this list of conditions and the following disclaimer in the
14 documentation and/or other materials provided with the distribution.
15
16 - Neither the name of CSIRO Australia nor the names of its
17 contributors may be used to endorse or promote products derived from
18 this software without specific prior written permission.
19
20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
23 PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ORGANISATION OR
24 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31*/
32
33#ifndef OGGZ_CONSTANTS_HEADER
34#define OGGZ_CONSTANTS_HEADER
35
39
46 enum OggzFlags {
48 OGGZ_READ = 0x00,
49
51 OGGZ_WRITE = 0x01,
52
55 OGGZ_NONSTRICT = 0x10,
56
63 OGGZ_AUTO = 0x20,
64
70 OGGZ_PREFIX = 0x40,
71
77 OGGZ_SUFFIX = 0x80
78
79};
80
81 enum OggzStopCtl {
83 OGGZ_CONTINUE = 0,
84
86 OGGZ_STOP_OK = 1,
87
89 OGGZ_STOP_ERR = -1
90};
91
95 enum OggzFlushOpts {
97 OGGZ_FLUSH_BEFORE = 0x01,
98
100 OGGZ_FLUSH_AFTER = 0x02
101};
102
106 enum OggzError {
108 OGGZ_ERR_OK = 0,
109
111 OGGZ_ERR_GENERIC = -1,
112
114 OGGZ_ERR_BAD_OGGZ = -2,
115
117 OGGZ_ERR_INVALID = -3,
118
120 OGGZ_ERR_NO_STREAMS = -4,
121
123 OGGZ_ERR_BOS = -5,
124
126 OGGZ_ERR_EOS = -6,
127
129 OGGZ_ERR_BAD_METRIC = -7,
130
132 OGGZ_ERR_SYSTEM = -10,
133
135 OGGZ_ERR_DISABLED = -11,
136
138 OGGZ_ERR_NOSEEK = -13,
139
143 OGGZ_ERR_STOP_OK = -14,
144
148 OGGZ_ERR_STOP_ERR = -15,
149
151 OGGZ_ERR_IO_AGAIN = -16,
152
154 OGGZ_ERR_HOLE_IN_DATA = -17,
155
157 OGGZ_ERR_OUT_OF_MEMORY = -18,
158
160 OGGZ_ERR_BAD_SERIALNO = -20,
161
163 OGGZ_ERR_BAD_BYTES = -21,
164
166 OGGZ_ERR_BAD_B_O_S = -22,
167
169 OGGZ_ERR_BAD_E_O_S = -23,
170
172 OGGZ_ERR_BAD_GRANULEPOS = -24,
173
175 OGGZ_ERR_BAD_PACKETNO = -25,
176
178 /* 129 == 0x81 is the frame marker for Theora's comments page ;-) */
179 OGGZ_ERR_COMMENT_INVALID = -129,
180
182 OGGZ_ERR_BAD_GUARD = -210,
183
186 OGGZ_ERR_RECURSIVE_WRITE = -266
187};
188
193 typedef enum OggzStreamContent {
194 OGGZ_CONTENT_ERR_BAD_SERIALNO = OGGZ_ERR_BAD_SERIALNO,
195 OGGZ_CONTENT_ERR_BAD_OGGZ = OGGZ_ERR_BAD_OGGZ,
196 OGGZ_CONTENT_THEORA = 0,
197 OGGZ_CONTENT_VORBIS,
198 OGGZ_CONTENT_SPEEX,
199 OGGZ_CONTENT_PCM,
200 OGGZ_CONTENT_CMML,
201 OGGZ_CONTENT_ANX2,
202 OGGZ_CONTENT_SKELETON,
203 OGGZ_CONTENT_FLAC0,
204 OGGZ_CONTENT_FLAC,
205 OGGZ_CONTENT_ANXDATA,
206 OGGZ_CONTENT_CELT,
207 OGGZ_CONTENT_KATE,
208 OGGZ_CONTENT_DIRAC,
209 OGGZ_CONTENT_OPUS,
210 OGGZ_CONTENT_VP8,
211 OGGZ_CONTENT_UNKNOWN
212} OggzStreamContent;
213
214#endif /* OGGZ_CONSTANTS_HEADER */
OggzStopCtl
OggzStopCtl
Definition oggz_constants.h:81
OGGZ_STOP_ERR
@ OGGZ_STOP_ERR
Stop calling callbacks, and purge buffered packet data.
Definition oggz_constants.h:89
OGGZ_STOP_OK
@ OGGZ_STOP_OK
Stop calling callbacks, but retain buffered packet data.
Definition oggz_constants.h:86
OGGZ_CONTINUE
@ OGGZ_CONTINUE
Continue calling read callbacks.
Definition oggz_constants.h:83
OggzFlags
OggzFlags
Flags to oggz_new(), oggz_open(), and oggz_openfd().
Definition oggz_constants.h:46
OGGZ_NONSTRICT
@ OGGZ_NONSTRICT
Disable strict adherence to mapping constraints, eg for handling an incomplete stream.
Definition oggz_constants.h:55
OGGZ_SUFFIX
@ OGGZ_SUFFIX
Write Suffix: Assume that we are only writing the suffix of an Ogg stream, ie.
Definition oggz_constants.h:77
OGGZ_WRITE
@ OGGZ_WRITE
Write only.
Definition oggz_constants.h:51
OGGZ_READ
@ OGGZ_READ
Read only.
Definition oggz_constants.h:48
OGGZ_PREFIX
@ OGGZ_PREFIX
Write Prefix: Assume that we are only writing the prefix of an Ogg stream, ie.
Definition oggz_constants.h:70
OGGZ_AUTO
@ OGGZ_AUTO
Scan for known headers while reading, and automatically set metrics appropriately.
Definition oggz_constants.h:63
OggzError
OggzError
Definitions of error return values.
Definition oggz_constants.h:106
OGGZ_ERR_BAD_OGGZ
@ OGGZ_ERR_BAD_OGGZ
oggz is not a valid OGGZ
Definition oggz_constants.h:114
OGGZ_ERR_OUT_OF_MEMORY
@ OGGZ_ERR_OUT_OF_MEMORY
Out of memory.
Definition oggz_constants.h:157
OGGZ_ERR_BAD_GUARD
@ OGGZ_ERR_BAD_GUARD
Guard provided by user has non-zero value.
Definition oggz_constants.h:182
OGGZ_ERR_STOP_ERR
@ OGGZ_ERR_STOP_ERR
Reading was stopped by an OggzReadCallback returning OGGZ_STOP_ERR or writing was stopped by an OggzW...
Definition oggz_constants.h:148
OGGZ_ERR_BAD_PACKETNO
@ OGGZ_ERR_BAD_PACKETNO
Packet disallowed due to invalid packetno.
Definition oggz_constants.h:175
OGGZ_ERR_STOP_OK
@ OGGZ_ERR_STOP_OK
Reading was stopped by an OggzReadCallback returning OGGZ_STOP_OK or writing was stopped by an OggzWr...
Definition oggz_constants.h:143
OGGZ_ERR_SYSTEM
@ OGGZ_ERR_SYSTEM
System specific error; check errno for details.
Definition oggz_constants.h:132
OGGZ_ERR_NOSEEK
@ OGGZ_ERR_NOSEEK
Seeking operation is not possible for this OGGZ.
Definition oggz_constants.h:138
OGGZ_ERR_DISABLED
@ OGGZ_ERR_DISABLED
Functionality disabled at build time.
Definition oggz_constants.h:135
OGGZ_ERR_BAD_METRIC
@ OGGZ_ERR_BAD_METRIC
Operation requires a valid metric, but none has been set.
Definition oggz_constants.h:129
OGGZ_ERR_BAD_B_O_S
@ OGGZ_ERR_BAD_B_O_S
Packet disallowed due to invalid b_o_s (beginning of stream) flag.
Definition oggz_constants.h:166
OGGZ_ERR_RECURSIVE_WRITE
@ OGGZ_ERR_RECURSIVE_WRITE
Attempt to call oggz_write() or oggz_write_output() from within a hungry() callback.
Definition oggz_constants.h:186
OGGZ_ERR_OK
@ OGGZ_ERR_OK
No error.
Definition oggz_constants.h:108
OGGZ_ERR_GENERIC
@ OGGZ_ERR_GENERIC
generic error
Definition oggz_constants.h:111
OGGZ_ERR_BAD_GRANULEPOS
@ OGGZ_ERR_BAD_GRANULEPOS
Packet disallowed due to invalid granulepos.
Definition oggz_constants.h:172
OGGZ_ERR_IO_AGAIN
@ OGGZ_ERR_IO_AGAIN
no data available from IO, try again
Definition oggz_constants.h:151
OGGZ_ERR_BOS
@ OGGZ_ERR_BOS
Operation is inappropriate for oggz in current bos state.
Definition oggz_constants.h:123
OGGZ_ERR_BAD_BYTES
@ OGGZ_ERR_BAD_BYTES
Packet disallowed due to invalid byte length.
Definition oggz_constants.h:163
OGGZ_ERR_BAD_SERIALNO
@ OGGZ_ERR_BAD_SERIALNO
The requested serialno does not exist in this OGGZ.
Definition oggz_constants.h:160
OGGZ_ERR_COMMENT_INVALID
@ OGGZ_ERR_COMMENT_INVALID
Comment violates VorbisComment restrictions.
Definition oggz_constants.h:179
OGGZ_ERR_INVALID
@ OGGZ_ERR_INVALID
The requested operation is not suitable for this OGGZ.
Definition oggz_constants.h:117
OGGZ_ERR_BAD_E_O_S
@ OGGZ_ERR_BAD_E_O_S
Packet disallowed due to invalid e_o_s (end of stream) flag.
Definition oggz_constants.h:169
OGGZ_ERR_HOLE_IN_DATA
@ OGGZ_ERR_HOLE_IN_DATA
Hole (sequence number gap) detected in input data.
Definition oggz_constants.h:154
OGGZ_ERR_EOS
@ OGGZ_ERR_EOS
Operation is inappropriate for oggz in current eos state.
Definition oggz_constants.h:126
OGGZ_ERR_NO_STREAMS
@ OGGZ_ERR_NO_STREAMS
oggz contains no logical bitstreams
Definition oggz_constants.h:120
OggzFlushOpts
OggzFlushOpts
Flush options for oggz_write_feed; can be or'ed together.
Definition oggz_constants.h:95
OGGZ_FLUSH_AFTER
@ OGGZ_FLUSH_AFTER
Flush after this packet.
Definition oggz_constants.h:100
OGGZ_FLUSH_BEFORE
@ OGGZ_FLUSH_BEFORE
Flush all streams before beginning this packet.
Definition oggz_constants.h:97
OggzStreamContent
OggzStreamContent
Definition of stream content types, including error codes returned by oggz_stream_get_content().
Definition oggz_constants.h:193