1 /*
2 TiMidity++ -- MIDI to WAVE converter and player
3 Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
4 Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20
21 /***************************************************************
22 name: ogg_dll dll: ogg.dll
23 ***************************************************************/
24
25 #ifdef HAVE_CONFIG_H
26 #include "config.h"
27 #endif /* HAVE_CONFIG_H */
28 #include "interface.h"
29
30 #ifdef AU_VORBIS_DLL
31
32 #include <windows.h>
33 #include <ogg/ogg.h>
34
35 extern int load_ogg_dll(void);
36 extern void free_ogg_dll(void);
37
38 typedef void (*type_oggpack_writeinit)(oggpack_buffer *b);
39 typedef void (*type_oggpack_reset)(oggpack_buffer *b);
40 typedef void (*type_oggpack_writeclear)(oggpack_buffer *b);
41 typedef void (*type_oggpack_readinit)(oggpack_buffer *b,unsigned char *buf,int bytes);
42 typedef void (*type_oggpack_write)(oggpack_buffer *b,unsigned long value,int bits);
43 typedef long (*type_oggpack_look)(oggpack_buffer *b,int bits);
44 typedef long (*type_oggpack_look_huff)(oggpack_buffer *b,int bits);
45 typedef long (*type_oggpack_look1)(oggpack_buffer *b);
46 typedef void (*type_oggpack_adv)(oggpack_buffer *b,int bits);
47 typedef int (*type_oggpack_adv_huff)(oggpack_buffer *b,int bits);
48 typedef void (*type_oggpack_adv1)(oggpack_buffer *b);
49 typedef long (*type_oggpack_read)(oggpack_buffer *b,int bits);
50 typedef long (*type_oggpack_read1)(oggpack_buffer *b);
51 typedef long (*type_oggpack_bytes)(oggpack_buffer *b);
52 typedef long (*type_oggpack_bits)(oggpack_buffer *b);
53 typedef unsigned char*(*type_oggpack_get_buffer)(oggpack_buffer *b);
54 typedef int (*type_ogg_stream_packetin)(ogg_stream_state *os, ogg_packet *op);
55 typedef int (*type_ogg_stream_pageout)(ogg_stream_state *os, ogg_page *og);
56 typedef int (*type_ogg_stream_flush)(ogg_stream_state *os, ogg_page *og);
57 typedef int (*type_ogg_sync_init)(ogg_sync_state *oy);
58 typedef int (*type_ogg_sync_clear)(ogg_sync_state *oy);
59 typedef int (*type_ogg_sync_reset)(ogg_sync_state *oy);
60 typedef int(*type_ogg_sync_destroy)(ogg_sync_state *oy);
61 typedef char *(*type_ogg_sync_buffer)(ogg_sync_state *oy, long size);
62 typedef int (*type_ogg_sync_wrote)(ogg_sync_state *oy, long bytes);
63 typedef long (*type_ogg_sync_pageseek)(ogg_sync_state *oy,ogg_page *og);
64 typedef int (*type_ogg_sync_pageout)(ogg_sync_state *oy, ogg_page *og);
65 typedef int (*type_ogg_stream_pagein)(ogg_stream_state *os, ogg_page *og);
66 typedef int (*type_ogg_stream_packetout)(ogg_stream_state *os,ogg_packet *op);
67 typedef int (*type_ogg_stream_init)(ogg_stream_state *os,int serialno);
68 typedef int (*type_ogg_stream_clear)(ogg_stream_state *os);
69 typedef int (*type_ogg_stream_reset)(ogg_stream_state *os);
70 typedef int (*type_ogg_stream_destroy)(ogg_stream_state *os);
71 typedef int (*type_ogg_stream_eos)(ogg_stream_state *os);
72 typedef int (*type_ogg_page_version)(ogg_page *og);
73 typedef int (*type_ogg_page_continued)(ogg_page *og);
74 typedef int (*type_ogg_page_bos)(ogg_page *og);
75 typedef int (*type_ogg_page_eos)(ogg_page *og);
76 typedef ogg_int64_t (*type_ogg_page_granulepos)(ogg_page *og);
77 typedef int (*type_ogg_page_serialno)(ogg_page *og);
78 typedef long (*type_ogg_page_pageno)(ogg_page *og);
79 typedef int (*type_ogg_page_packets)(ogg_page *og);
80 ////typedef void (*type_ogg_packet_clear)(ogg_packet *op);
81
82 static struct ogg_dll_ {
83 // type_oggpack_writeinit oggpack_writeinit;
84 // type_oggpack_reset oggpack_reset;
85 // type_oggpack_writeclear oggpack_writeclear;
86 // type_oggpack_readinit oggpack_readinit;
87 // type_oggpack_write oggpack_write;
88 // type_oggpack_look oggpack_look;
89 // type_oggpack_look_huff oggpack_look_huff;
90 // type_oggpack_look1 oggpack_look1;
91 // type_oggpack_adv oggpack_adv;
92 // type_oggpack_adv_huff oggpack_adv_huff;
93 // type_oggpack_adv1 oggpack_adv1;
94 // type_oggpack_read oggpack_read;
95 // type_oggpack_read1 oggpack_read1;
96 // type_oggpack_bytes oggpack_bytes;
97 // type_oggpack_bits oggpack_bits;
98 // type_oggpack_get_buffer oggpack_get_buffer;
99 type_ogg_stream_packetin ogg_stream_packetin;
100 type_ogg_stream_pageout ogg_stream_pageout;
101 // type_ogg_stream_flush ogg_stream_flush;
102 // type_ogg_sync_init ogg_sync_init;
103 // type_ogg_sync_clear ogg_sync_clear;
104 // type_ogg_sync_reset ogg_sync_reset;
105 // type_ogg_sync_destroy ogg_sync_destroy;
106 // type_ogg_sync_buffer ogg_sync_buffer;
107 // type_ogg_sync_wrote ogg_sync_wrote;
108 // type_ogg_sync_pageseek ogg_sync_pageseek;
109 // type_ogg_sync_pageout ogg_sync_pageout;
110 // type_ogg_stream_pagein ogg_stream_pagein;
111 // type_ogg_stream_packetout ogg_stream_packetout;
112 type_ogg_stream_init ogg_stream_init;
113 type_ogg_stream_clear ogg_stream_clear;
114 // type_ogg_stream_reset ogg_stream_reset;
115 // type_ogg_stream_destroy ogg_stream_destroy;
116 // type_ogg_stream_eos ogg_stream_eos;
117 // type_ogg_page_version ogg_page_version;
118 // type_ogg_page_continued ogg_page_continued;
119 // type_ogg_page_bos ogg_page_bos;
120 type_ogg_page_eos ogg_page_eos;
121 // type_ogg_page_granulepos ogg_page_granulepos;
122 // type_ogg_page_serialno ogg_page_serialno;
123 // type_ogg_page_pageno ogg_page_pageno;
124 // type_ogg_page_packets ogg_page_packets;
125 //// type_ogg_packet_clear ogg_packet_clear;
126 } ogg_dll;
127
128 static volatile HANDLE h_ogg_dll = NULL;
129
free_ogg_dll(void)130 void free_ogg_dll(void)
131 {
132 if(h_ogg_dll){
133 FreeLibrary(h_ogg_dll);
134 h_ogg_dll = NULL;
135 }
136 }
137
load_ogg_dll(void)138 int load_ogg_dll(void)
139 {
140 if(!h_ogg_dll){
141 h_ogg_dll = LoadLibrary("ogg.dll");
142 if(!h_ogg_dll) return -1;
143 }
144 // ogg_dll.oggpack_writeinit = (type_oggpack_writeinit)GetProcAddress(h_ogg_dll,"oggpack_writeinit");
145 // if(!ogg_dll.oggpack_writeinit){ free_ogg_dll(); return -1; }
146 // ogg_dll.oggpack_reset = (type_oggpack_reset)GetProcAddress(h_ogg_dll,"oggpack_reset");
147 // if(!ogg_dll.oggpack_reset){ free_ogg_dll(); return -1; }
148 // ogg_dll.oggpack_writeclear = (type_oggpack_writeclear)GetProcAddress(h_ogg_dll,"oggpack_writeclear");
149 // if(!ogg_dll.oggpack_writeclear){ free_ogg_dll(); return -1; }
150 // ogg_dll.oggpack_readinit = (type_oggpack_readinit)GetProcAddress(h_ogg_dll,"oggpack_readinit");
151 // if(!ogg_dll.oggpack_readinit){ free_ogg_dll(); return -1; }
152 // ogg_dll.oggpack_write = (type_oggpack_write)GetProcAddress(h_ogg_dll,"oggpack_write");
153 // if(!ogg_dll.oggpack_write){ free_ogg_dll(); return -1; }
154 // ogg_dll.oggpack_look = (type_oggpack_look)GetProcAddress(h_ogg_dll,"oggpack_look");
155 // if(!ogg_dll.oggpack_look){ free_ogg_dll(); return -1; }
156 // ogg_dll.oggpack_look_huff = (type_oggpack_look_huff)GetProcAddress(h_ogg_dll,"oggpack_look_huff");
157 // if(!ogg_dll.oggpack_look_huff){ free_ogg_dll(); return -1; }
158 // ogg_dll.oggpack_look1 = (type_oggpack_look1)GetProcAddress(h_ogg_dll,"oggpack_look1");
159 // if(!ogg_dll.oggpack_look1){ free_ogg_dll(); return -1; }
160 // ogg_dll.oggpack_adv = (type_oggpack_adv)GetProcAddress(h_ogg_dll,"oggpack_adv");
161 // if(!ogg_dll.oggpack_adv){ free_ogg_dll(); return -1; }
162 // ogg_dll.oggpack_adv_huff = (type_oggpack_adv_huff)GetProcAddress(h_ogg_dll,"oggpack_adv_huff");
163 // if(!ogg_dll.oggpack_adv_huff){ free_ogg_dll(); return -1; }
164 // ogg_dll.oggpack_adv1 = (type_oggpack_adv1)GetProcAddress(h_ogg_dll,"oggpack_adv1");
165 // if(!ogg_dll.oggpack_adv1){ free_ogg_dll(); return -1; }
166 // ogg_dll.oggpack_read = (type_oggpack_read)GetProcAddress(h_ogg_dll,"oggpack_read");
167 // if(!ogg_dll.oggpack_read){ free_ogg_dll(); return -1; }
168 // ogg_dll.oggpack_read1 = (type_oggpack_read1)GetProcAddress(h_ogg_dll,"oggpack_read1");
169 // if(!ogg_dll.oggpack_read1){ free_ogg_dll(); return -1; }
170 // ogg_dll.oggpack_bytes = (type_oggpack_bytes)GetProcAddress(h_ogg_dll,"oggpack_bytes");
171 // if(!ogg_dll.oggpack_bytes){ free_ogg_dll(); return -1; }
172 // ogg_dll.oggpack_bits = (type_oggpack_bits)GetProcAddress(h_ogg_dll,"oggpack_bits");
173 // if(!ogg_dll.oggpack_bits){ free_ogg_dll(); return -1; }
174 // ogg_dll.oggpack_get_buffer = (type_oggpack_get_buffer)GetProcAddress(h_ogg_dll,"oggpack_get_buffer");
175 // if(!ogg_dll.oggpack_get_buffer){ free_ogg_dll(); return -1; }
176 ogg_dll.ogg_stream_packetin = (type_ogg_stream_packetin)GetProcAddress(h_ogg_dll,"ogg_stream_packetin");
177 if(!ogg_dll.ogg_stream_packetin){ free_ogg_dll(); return -1; }
178 ogg_dll.ogg_stream_pageout = (type_ogg_stream_pageout)GetProcAddress(h_ogg_dll,"ogg_stream_pageout");
179 if(!ogg_dll.ogg_stream_pageout){ free_ogg_dll(); return -1; }
180 // ogg_dll.ogg_stream_flush = (type_ogg_stream_flush)GetProcAddress(h_ogg_dll,"ogg_stream_flush");
181 // if(!ogg_dll.ogg_stream_flush){ free_ogg_dll(); return -1; }
182 // ogg_dll.ogg_sync_init = (type_ogg_sync_init)GetProcAddress(h_ogg_dll,"ogg_sync_init");
183 // if(!ogg_dll.ogg_sync_init){ free_ogg_dll(); return -1; }
184 // ogg_dll.ogg_sync_clear = (type_ogg_sync_clear)GetProcAddress(h_ogg_dll,"ogg_sync_clear");
185 // if(!ogg_dll.ogg_sync_clear){ free_ogg_dll(); return -1; }
186 // ogg_dll.ogg_sync_reset = (type_ogg_sync_reset)GetProcAddress(h_ogg_dll,"ogg_sync_reset");
187 // if(!ogg_dll.ogg_sync_reset){ free_ogg_dll(); return -1; }
188 // ogg_dll.ogg_sync_destroy = (type_ogg_sync_destroy)GetProcAddress(h_ogg_dll,"ogg_sync_destroy");
189 // if(!ogg_dll.ogg_sync_destroy){ free_ogg_dll(); return -1; }
190 // ogg_dll.ogg_sync_buffer = (type_ogg_sync_buffer)GetProcAddress(h_ogg_dll,"ogg_sync_buffer");
191 // if(!ogg_dll.ogg_sync_buffer){ free_ogg_dll(); return -1; }
192 // ogg_dll.ogg_sync_wrote = (type_ogg_sync_wrote)GetProcAddress(h_ogg_dll,"ogg_sync_wrote");
193 // if(!ogg_dll.ogg_sync_wrote){ free_ogg_dll(); return -1; }
194 // ogg_dll.ogg_sync_pageseek = (type_ogg_sync_pageseek)GetProcAddress(h_ogg_dll,"ogg_sync_pageseek");
195 // if(!ogg_dll.ogg_sync_pageseek){ free_ogg_dll(); return -1; }
196 // ogg_dll.ogg_sync_pageout = (type_ogg_sync_pageout)GetProcAddress(h_ogg_dll,"ogg_sync_pageout");
197 // if(!ogg_dll.ogg_sync_pageout){ free_ogg_dll(); return -1; }
198 // ogg_dll.ogg_stream_pagein = (type_ogg_stream_pagein)GetProcAddress(h_ogg_dll,"ogg_stream_pagein");
199 // if(!ogg_dll.ogg_stream_pagein){ free_ogg_dll(); return -1; }
200 // ogg_dll.ogg_stream_packetout = (type_ogg_stream_packetout)GetProcAddress(h_ogg_dll,"ogg_stream_packetout");
201 // if(!ogg_dll.ogg_stream_packetout){ free_ogg_dll(); return -1; }
202 ogg_dll.ogg_stream_init = (type_ogg_stream_init)GetProcAddress(h_ogg_dll,"ogg_stream_init");
203 if(!ogg_dll.ogg_stream_init){ free_ogg_dll(); return -1; }
204 ogg_dll.ogg_stream_clear = (type_ogg_stream_clear)GetProcAddress(h_ogg_dll,"ogg_stream_clear");
205 if(!ogg_dll.ogg_stream_clear){ free_ogg_dll(); return -1; }
206 // ogg_dll.ogg_stream_reset = (type_ogg_stream_reset)GetProcAddress(h_ogg_dll,"ogg_stream_reset");
207 // if(!ogg_dll.ogg_stream_reset){ free_ogg_dll(); return -1; }
208 // ogg_dll.ogg_stream_destroy = (type_ogg_stream_destroy)GetProcAddress(h_ogg_dll,"ogg_stream_destroy");
209 // if(!ogg_dll.ogg_stream_destroy){ free_ogg_dll(); return -1; }
210 // ogg_dll.ogg_stream_eos = (type_ogg_stream_eos)GetProcAddress(h_ogg_dll,"ogg_stream_eos");
211 // if(!ogg_dll.ogg_stream_eos){ free_ogg_dll(); return -1; }
212 // ogg_dll.ogg_page_version = (type_ogg_page_version)GetProcAddress(h_ogg_dll,"ogg_page_version");
213 // if(!ogg_dll.ogg_page_version){ free_ogg_dll(); return -1; }
214 // ogg_dll.ogg_page_continued = (type_ogg_page_continued)GetProcAddress(h_ogg_dll,"ogg_page_continued");
215 // if(!ogg_dll.ogg_page_continued){ free_ogg_dll(); return -1; }
216 // ogg_dll.ogg_page_bos = (type_ogg_page_bos)GetProcAddress(h_ogg_dll,"ogg_page_bos");
217 // if(!ogg_dll.ogg_page_bos){ free_ogg_dll(); return -1; }
218 ogg_dll.ogg_page_eos = (type_ogg_page_eos)GetProcAddress(h_ogg_dll,"ogg_page_eos");
219 if(!ogg_dll.ogg_page_eos){ free_ogg_dll(); return -1; }
220 // ogg_dll.ogg_page_granulepos = (type_ogg_page_granulepos)GetProcAddress(h_ogg_dll,"ogg_page_granulepos");
221 // if(!ogg_dll.ogg_page_granulepos){ free_ogg_dll(); return -1; }
222 // ogg_dll.ogg_page_serialno = (type_ogg_page_serialno)GetProcAddress(h_ogg_dll,"ogg_page_serialno");
223 // if(!ogg_dll.ogg_page_serialno){ free_ogg_dll(); return -1; }
224 // ogg_dll.ogg_page_pageno = (type_ogg_page_pageno)GetProcAddress(h_ogg_dll,"ogg_page_pageno");
225 // if(!ogg_dll.ogg_page_pageno){ free_ogg_dll(); return -1; }
226 // ogg_dll.ogg_page_packets = (type_ogg_page_packets)GetProcAddress(h_ogg_dll,"ogg_page_packets");
227 // if(!ogg_dll.ogg_page_packets){ free_ogg_dll(); return -1; }
228 //// ogg_dll.ogg_packet_clear = (type_ogg_packet_clear)GetProcAddress(h_ogg_dll,"ogg_packet_clear");
229 //// if(!ogg_dll.ogg_packet_clear){ free_ogg_dll(); return -1; }
230 return 0;
231 }
232
233 #if 0
234 void oggpack_writeinit(oggpack_buffer *b)
235 {
236 if(h_ogg_dll){
237 ogg_dll.oggpack_writeinit(b);
238 }
239 }
240
241 void oggpack_reset(oggpack_buffer *b)
242 {
243 if(h_ogg_dll){
244 ogg_dll.oggpack_reset(b);
245 }
246 }
247
248 void oggpack_writeclear(oggpack_buffer *b)
249 {
250 if(h_ogg_dll){
251 ogg_dll.oggpack_writeclear(b);
252 }
253 }
254
255 void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes)
256 {
257 if(h_ogg_dll){
258 ogg_dll.oggpack_readinit(b,buf,bytes);
259 }
260 }
261
262 void oggpack_write(oggpack_buffer *b,unsigned long value,int bits)
263 {
264 if(h_ogg_dll){
265 ogg_dll.oggpack_write(b,value,bits);
266 }
267 }
268
269 long oggpack_look(oggpack_buffer *b,int bits)
270 {
271 if(h_ogg_dll){
272 return ogg_dll.oggpack_look(b,bits);
273 }
274 return (long )0;
275 }
276
277 long oggpack_look_huff(oggpack_buffer *b,int bits)
278 {
279 if(h_ogg_dll){
280 return ogg_dll.oggpack_look_huff(b,bits);
281 }
282 return (long )0;
283 }
284
285 long oggpack_look1(oggpack_buffer *b)
286 {
287 if(h_ogg_dll){
288 return ogg_dll.oggpack_look1(b);
289 }
290 return (long )0;
291 }
292
293 void oggpack_adv(oggpack_buffer *b,int bits)
294 {
295 if(h_ogg_dll){
296 ogg_dll.oggpack_adv(b,bits);
297 }
298 }
299
300 int oggpack_adv_huff(oggpack_buffer *b,int bits)
301 {
302 if(h_ogg_dll){
303 return ogg_dll.oggpack_adv_huff(b,bits);
304 }
305 return (int )0;
306 }
307
308 void oggpack_adv1(oggpack_buffer *b)
309 {
310 if(h_ogg_dll){
311 ogg_dll.oggpack_adv1(b);
312 }
313 }
314
315 long oggpack_read(oggpack_buffer *b,int bits)
316 {
317 if(h_ogg_dll){
318 return ogg_dll.oggpack_read(b,bits);
319 }
320 return (long )0;
321 }
322
323 long oggpack_read1(oggpack_buffer *b)
324 {
325 if(h_ogg_dll){
326 return ogg_dll.oggpack_read1(b);
327 }
328 return (long )0;
329 }
330
331 long oggpack_bytes(oggpack_buffer *b)
332 {
333 if(h_ogg_dll){
334 return ogg_dll.oggpack_bytes(b);
335 }
336 return (long )0;
337 }
338
339 long oggpack_bits(oggpack_buffer *b)
340 {
341 if(h_ogg_dll){
342 return ogg_dll.oggpack_bits(b);
343 }
344 return (long )0;
345 }
346
347 unsigned char*oggpack_get_buffer(oggpack_buffer *b)
348 {
349 if(h_ogg_dll){
350 return ogg_dll.oggpack_get_buffer(b);
351 }
352 return (unsigned char*)0;
353 }
354 #endif
355
ogg_stream_packetin(ogg_stream_state * os,ogg_packet * op)356 int ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op)
357 {
358 if(h_ogg_dll){
359 return ogg_dll.ogg_stream_packetin(os,op);
360 }
361 return (int )0;
362 }
363
ogg_stream_pageout(ogg_stream_state * os,ogg_page * og)364 int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og)
365 {
366 if(h_ogg_dll){
367 return ogg_dll.ogg_stream_pageout(os,og);
368 }
369 return (int )0;
370 }
371
372 #if 0
373 int ogg_stream_flush(ogg_stream_state *os, ogg_page *og)
374 {
375 if(h_ogg_dll){
376 return ogg_dll.ogg_stream_flush(os,og);
377 }
378 return (int )0;
379 }
380
381 int ogg_sync_init(ogg_sync_state *oy)
382 {
383 if(h_ogg_dll){
384 return ogg_dll.ogg_sync_init(oy);
385 }
386 return (int )0;
387 }
388
389 int ogg_sync_clear(ogg_sync_state *oy)
390 {
391 if(h_ogg_dll){
392 return ogg_dll.ogg_sync_clear(oy);
393 }
394 return (int )0;
395 }
396
397 int ogg_sync_reset(ogg_sync_state *oy)
398 {
399 if(h_ogg_dll){
400 return ogg_dll.ogg_sync_reset(oy);
401 }
402 return (int )0;
403 }
404
405 intogg_sync_destroy(ogg_sync_state *oy)
406 {
407 if(h_ogg_dll){
408 return ogg_dll.ogg_sync_destroy(oy);
409 }
410 return (int)0;
411 }
412
413 char *ogg_sync_buffer(ogg_sync_state *oy, long size)
414 {
415 if(h_ogg_dll){
416 return ogg_dll.ogg_sync_buffer(oy,size);
417 }
418 return (char *)0;
419 }
420
421 int ogg_sync_wrote(ogg_sync_state *oy, long bytes)
422 {
423 if(h_ogg_dll){
424 return ogg_dll.ogg_sync_wrote(oy,bytes);
425 }
426 return (int )0;
427 }
428
429 long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og)
430 {
431 if(h_ogg_dll){
432 return ogg_dll.ogg_sync_pageseek(oy,og);
433 }
434 return (long )0;
435 }
436
437 int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og)
438 {
439 if(h_ogg_dll){
440 return ogg_dll.ogg_sync_pageout(oy,og);
441 }
442 return (int )0;
443 }
444
445 int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og)
446 {
447 if(h_ogg_dll){
448 return ogg_dll.ogg_stream_pagein(os,og);
449 }
450 return (int )0;
451 }
452
453 int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op)
454 {
455 if(h_ogg_dll){
456 return ogg_dll.ogg_stream_packetout(os,op);
457 }
458 return (int )0;
459 }
460 #endif
461
ogg_stream_init(ogg_stream_state * os,int serialno)462 int ogg_stream_init(ogg_stream_state *os,int serialno)
463 {
464 if(h_ogg_dll){
465 return ogg_dll.ogg_stream_init(os,serialno);
466 }
467 return (int )0;
468 }
469
ogg_stream_clear(ogg_stream_state * os)470 int ogg_stream_clear(ogg_stream_state *os)
471 {
472 if(h_ogg_dll){
473 return ogg_dll.ogg_stream_clear(os);
474 }
475 return (int )0;
476 }
477
478 #if 0
479 int ogg_stream_reset(ogg_stream_state *os)
480 {
481 if(h_ogg_dll){
482 return ogg_dll.ogg_stream_reset(os);
483 }
484 return (int )0;
485 }
486
487 int ogg_stream_destroy(ogg_stream_state *os)
488 {
489 if(h_ogg_dll){
490 return ogg_dll.ogg_stream_destroy(os);
491 }
492 return (int )0;
493 }
494
495 int ogg_stream_eos(ogg_stream_state *os)
496 {
497 if(h_ogg_dll){
498 return ogg_dll.ogg_stream_eos(os);
499 }
500 return (int )0;
501 }
502
503 int ogg_page_version(ogg_page *og)
504 {
505 if(h_ogg_dll){
506 return ogg_dll.ogg_page_version(og);
507 }
508 return (int )0;
509 }
510
511 int ogg_page_continued(ogg_page *og)
512 {
513 if(h_ogg_dll){
514 return ogg_dll.ogg_page_continued(og);
515 }
516 return (int )0;
517 }
518
519 int ogg_page_bos(ogg_page *og)
520 {
521 if(h_ogg_dll){
522 return ogg_dll.ogg_page_bos(og);
523 }
524 return (int )0;
525 }
526 #endif
527
ogg_page_eos(ogg_page * og)528 int ogg_page_eos(ogg_page *og)
529 {
530 if(h_ogg_dll){
531 return ogg_dll.ogg_page_eos(og);
532 }
533 return (int )0;
534 }
535
536 #if 0
537 ogg_int64_t ogg_page_granulepos(ogg_page *og)
538 {
539 if(h_ogg_dll){
540 return ogg_dll.ogg_page_granulepos(og);
541 }
542 return (ogg_int64_t )0;
543 }
544
545 int ogg_page_serialno(ogg_page *og)
546 {
547 if(h_ogg_dll){
548 return ogg_dll.ogg_page_serialno(og);
549 }
550 return (int )0;
551 }
552
553 long ogg_page_pageno(ogg_page *og)
554 {
555 if(h_ogg_dll){
556 return ogg_dll.ogg_page_pageno(og);
557 }
558 return (long )0;
559 }
560
561 int ogg_page_packets(ogg_page *og)
562 {
563 if(h_ogg_dll){
564 return ogg_dll.ogg_page_packets(og);
565 }
566 return (int )0;
567 }
568 #endif
569
570 //void ogg_packet_clear(ogg_packet *op)
571 //{
572 // if(h_ogg_dll){
573 // ogg_dll.ogg_packet_clear(op);
574 // }
575 //}
576
577 /***************************************************************/
578 #endif /* AU_VORBIS_DLL */
579