annotate tremor/ogg.h @ 34153:54f502c57425

Fix possible crash since RenderCallbackSPDIF might call read_buffer with NULL data. The purpose of that is to drain data from the buffer when the output is muted.
author reimar
date Sun, 23 Oct 2011 12:03:13 +0000
parents e83eef58b30a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14280
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
1 /********************************************************************
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
2 * *
15250
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
3 * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
5 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
6 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
14280
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
7 * *
15250
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
9 * by the Xiph.Org Foundation http://www.xiph.org/ *
14280
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
10 * *
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
11 ********************************************************************
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
12
15250
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
13 function: toplevel libogg include
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
14 last mod: $Id$
14280
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
15
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
16 ********************************************************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
17 #ifndef _OGG_H
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
18 #define _OGG_H
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
19
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
20 #ifdef __cplusplus
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
21 extern "C" {
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
22 #endif
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
23
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
24 #include "os_types.h"
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
25
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
26 typedef struct {
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
27 long endbyte;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
28 int endbit;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
29
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
30 unsigned char *buffer;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
31 unsigned char *ptr;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
32 long storage;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
33 } oggpack_buffer;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
34
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
35 /* ogg_page is used to encapsulate the data in one Ogg bitstream page *****/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
36
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
37 typedef struct {
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
38 unsigned char *header;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
39 long header_len;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
40 unsigned char *body;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
41 long body_len;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
42 } ogg_page;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
43
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
44 /* ogg_stream_state contains the current encode/decode state of a logical
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
45 Ogg bitstream **********************************************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
46
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
47 typedef struct {
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
48 unsigned char *body_data; /* bytes from packet bodies */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
49 long body_storage; /* storage elements allocated */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
50 long body_fill; /* elements stored; fill mark */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
51 long body_returned; /* elements of fill returned */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
52
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
53
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
54 int *lacing_vals; /* The values that will go to the segment table */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
55 ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
56 this way, but it is simple coupled to the
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
57 lacing fifo */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
58 long lacing_storage;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
59 long lacing_fill;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
60 long lacing_packet;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
61 long lacing_returned;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
62
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
63 unsigned char header[282]; /* working space for header encode */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
64 int header_fill;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
65
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
66 int e_o_s; /* set when we have buffered the last packet in the
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
67 logical bitstream */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
68 int b_o_s; /* set after we've written the initial page
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
69 of a logical bitstream */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
70 long serialno;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
71 long pageno;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
72 ogg_int64_t packetno; /* sequence number for decode; the framing
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
73 knows where there's a hole in the data,
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
74 but we need coupling so that the codec
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
75 (which is in a seperate abstraction
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
76 layer) also knows about the gap */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
77 ogg_int64_t granulepos;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
78
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
79 } ogg_stream_state;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
80
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
81 /* ogg_packet is used to encapsulate the data and metadata belonging
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
82 to a single raw Ogg/Vorbis packet *************************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
83
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
84 typedef struct {
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
85 unsigned char *packet;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
86 long bytes;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
87 long b_o_s;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
88 long e_o_s;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
89
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
90 ogg_int64_t granulepos;
29264
e83eef58b30a Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents: 15250
diff changeset
91
14280
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
92 ogg_int64_t packetno; /* sequence number for decode; the framing
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
93 knows where there's a hole in the data,
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
94 but we need coupling so that the codec
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
95 (which is in a seperate abstraction
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
96 layer) also knows about the gap */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
97 } ogg_packet;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
98
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
99 typedef struct {
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
100 unsigned char *data;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
101 int storage;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
102 int fill;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
103 int returned;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
104
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
105 int unsynced;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
106 int headerbytes;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
107 int bodybytes;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
108 } ogg_sync_state;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
109
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
110 /* Ogg BITSTREAM PRIMITIVES: bitstream ************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
111
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
112 extern void oggpack_writeinit(oggpack_buffer *b);
15250
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
113 extern void oggpack_writetrunc(oggpack_buffer *b,long bits);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
114 extern void oggpack_writealign(oggpack_buffer *b);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
115 extern void oggpack_writecopy(oggpack_buffer *b,void *source,long bits);
14280
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
116 extern void oggpack_reset(oggpack_buffer *b);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
117 extern void oggpack_writeclear(oggpack_buffer *b);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
118 extern void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
119 extern void oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
120 extern long oggpack_look(oggpack_buffer *b,int bits);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
121 extern long oggpack_look1(oggpack_buffer *b);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
122 extern void oggpack_adv(oggpack_buffer *b,int bits);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
123 extern void oggpack_adv1(oggpack_buffer *b);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
124 extern long oggpack_read(oggpack_buffer *b,int bits);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
125 extern long oggpack_read1(oggpack_buffer *b);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
126 extern long oggpack_bytes(oggpack_buffer *b);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
127 extern long oggpack_bits(oggpack_buffer *b);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
128 extern unsigned char *oggpack_get_buffer(oggpack_buffer *b);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
129
15250
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
130 extern void oggpackB_writeinit(oggpack_buffer *b);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
131 extern void oggpackB_writetrunc(oggpack_buffer *b,long bits);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
132 extern void oggpackB_writealign(oggpack_buffer *b);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
133 extern void oggpackB_writecopy(oggpack_buffer *b,void *source,long bits);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
134 extern void oggpackB_reset(oggpack_buffer *b);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
135 extern void oggpackB_writeclear(oggpack_buffer *b);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
136 extern void oggpackB_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
137 extern void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
138 extern long oggpackB_look(oggpack_buffer *b,int bits);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
139 extern long oggpackB_look1(oggpack_buffer *b);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
140 extern void oggpackB_adv(oggpack_buffer *b,int bits);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
141 extern void oggpackB_adv1(oggpack_buffer *b);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
142 extern long oggpackB_read(oggpack_buffer *b,int bits);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
143 extern long oggpackB_read1(oggpack_buffer *b);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
144 extern long oggpackB_bytes(oggpack_buffer *b);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
145 extern long oggpackB_bits(oggpack_buffer *b);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
146 extern unsigned char *oggpackB_get_buffer(oggpack_buffer *b);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
147
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
148 /* Ogg BITSTREAM PRIMITIVES: encoding **************************/
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
149
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
150 extern int ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
151 extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
152 extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
153
14280
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
154 /* Ogg BITSTREAM PRIMITIVES: decoding **************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
155
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
156 extern int ogg_sync_init(ogg_sync_state *oy);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
157 extern int ogg_sync_clear(ogg_sync_state *oy);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
158 extern int ogg_sync_reset(ogg_sync_state *oy);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
159 extern int ogg_sync_destroy(ogg_sync_state *oy);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
160
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
161 extern char *ogg_sync_buffer(ogg_sync_state *oy, long size);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
162 extern int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
163 extern long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
164 extern int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
165 extern int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
166 extern int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
167 extern int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
168
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
169 /* Ogg BITSTREAM PRIMITIVES: general ***************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
170
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
171 extern int ogg_stream_init(ogg_stream_state *os,int serialno);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
172 extern int ogg_stream_clear(ogg_stream_state *os);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
173 extern int ogg_stream_reset(ogg_stream_state *os);
15250
e891ff7a7b6c update to libogg 1.1.2 (needed for Theora)
henry
parents: 14280
diff changeset
174 extern int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno);
14280
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
175 extern int ogg_stream_destroy(ogg_stream_state *os);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
176 extern int ogg_stream_eos(ogg_stream_state *os);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
177
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
178 extern void ogg_page_checksum_set(ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
179
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
180 extern int ogg_page_version(ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
181 extern int ogg_page_continued(ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
182 extern int ogg_page_bos(ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
183 extern int ogg_page_eos(ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
184 extern ogg_int64_t ogg_page_granulepos(ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
185 extern int ogg_page_serialno(ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
186 extern long ogg_page_pageno(ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
187 extern int ogg_page_packets(ogg_page *og);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
188
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
189 extern void ogg_packet_clear(ogg_packet *op);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
190
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
191
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
192 #ifdef __cplusplus
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
193 }
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
194 #endif
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
195
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
196 #endif /* _OGG_H */