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 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 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 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 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 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 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 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