| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #ifndef VBF_LOADER_H
- #define VBF_LOADER_H
- #include "vorbis/vorbisfile.h"
- #if defined(_WIN32)
- #define VBF_APIENTRY __cdecl
- #else
- #define VBF_APIENTRY
- #endif
- // API function pointers type definitions
- typedef int (VBF_APIENTRY *LPOVCLEAR)(OggVorbis_File *vf);
- typedef int (VBF_APIENTRY *LPOVFOPEN)(const char *path,OggVorbis_File *vf);
- typedef int (VBF_APIENTRY *LPOVOPEN)(FILE *f,OggVorbis_File *vf,const char *initial,long ibytes);
- typedef int (VBF_APIENTRY *LPOVOPENCALLBACKS)(void *datasource, OggVorbis_File *vf, const char *initial, long ibytes, ov_callbacks callbacks);
- typedef int (VBF_APIENTRY *LPOVTEST)(FILE *f,OggVorbis_File *vf,const char *initial,long ibytes);
- typedef int (VBF_APIENTRY *LPOVTESTCALLBACKS)(void *datasource, OggVorbis_File *vf, const char *initial, long ibytes, ov_callbacks callbacks);
- typedef int (VBF_APIENTRY *LPOVTESTOPEN)(OggVorbis_File *vf);
- typedef long (VBF_APIENTRY *LPOVBITRATE)(OggVorbis_File *vf,int i);
- typedef long (VBF_APIENTRY *LPOVBITRATEINSTANT)(OggVorbis_File *vf);
- typedef int (VBF_APIENTRY *LPOVSTREAMS)(OggVorbis_File *vf);
- typedef int (VBF_APIENTRY *LPOVSEEKABLE)(OggVorbis_File *vf);
- typedef int (VBF_APIENTRY *LPOVSERIALNUMBER)(OggVorbis_File *vf,int i);
- typedef ogg_int64_t (VBF_APIENTRY *LPOVRAWTOTAL)(OggVorbis_File *vf,int i);
- typedef ogg_int64_t (VBF_APIENTRY *LPOVPCMTOTAL)(OggVorbis_File *vf,int i);
- typedef double (VBF_APIENTRY *LPOVTIMETOTAL)(OggVorbis_File *vf,int i);
- typedef int (VBF_APIENTRY *LPOVRAWSEEK)(OggVorbis_File *vf,ogg_int64_t pos);
- typedef int (VBF_APIENTRY *LPOVPCMSEEK)(OggVorbis_File *vf,ogg_int64_t pos);
- typedef int (VBF_APIENTRY *LPOVPCMSEEKPAGE)(OggVorbis_File *vf,ogg_int64_t pos);
- typedef int (VBF_APIENTRY *LPOVTIMESEEK)(OggVorbis_File *vf,double pos);
- typedef int (VBF_APIENTRY *LPOVTIMESEEKPAGE)(OggVorbis_File *vf,double pos);
- typedef int (VBF_APIENTRY *LPOVRAWSEEKLAP)(OggVorbis_File *vf,ogg_int64_t pos);
- typedef int (VBF_APIENTRY *LPOVPCMSEEKLAP)(OggVorbis_File *vf,ogg_int64_t pos);
- typedef int (VBF_APIENTRY *LPOVPCMSEEKPAGELAP)(OggVorbis_File *vf,ogg_int64_t pos);
- typedef int (VBF_APIENTRY *LPOVTIMESEEKLAP)(OggVorbis_File *vf,double pos);
- typedef int (VBF_APIENTRY *LPOVTIMESEEKPAGELAP)(OggVorbis_File *vf,double pos);
- typedef ogg_int64_t (VBF_APIENTRY *LPOVRAWTELL)(OggVorbis_File *vf);
- typedef ogg_int64_t (VBF_APIENTRY *LPOVPCMTELL)(OggVorbis_File *vf);
- typedef double (VBF_APIENTRY *LPOVTIMETELL)(OggVorbis_File *vf);
- typedef vorbis_info* (VBF_APIENTRY *LPOVINFO)(OggVorbis_File *vf,int link);
- typedef vorbis_comment* (VBF_APIENTRY *LPOVCOMMENT)(OggVorbis_File *vf,int link);
- typedef long (VBF_APIENTRY *LPOVREADFLOAT)(OggVorbis_File *vf,float ***pcm_channels,int samples, int *bitstream);
- typedef long (VBF_APIENTRY *LPOVREADFILTER)(OggVorbis_File *vf,char *buffer,int length, int bigendianp,int word,int sgned,int *bitstream, void (*filter)(float **pcm,long channels,long samples,void *filter_param),void *filter_param);
- typedef long (VBF_APIENTRY *LPOVREAD)(OggVorbis_File *vf,char *buffer,int length, int bigendianp,int word,int sgned,int *bitstream);
- typedef int (VBF_APIENTRY *LPOVCROSSLAP)(OggVorbis_File *vf1,OggVorbis_File *vf2);
- typedef int (VBF_APIENTRY *LPOVHALFRATE)(OggVorbis_File *vf,int flag);
- typedef int (VBF_APIENTRY *LPOVHALFRATEP)(OggVorbis_File *vf);
- int vorbisfile_load();
- extern LPOVCLEAR p_ov_clear;
- extern LPOVFOPEN p_ov_fopen;
- extern LPOVOPEN p_ov_open;
- extern LPOVOPENCALLBACKS p_ov_open_callbacks;
- extern LPOVTEST p_ov_test;
- extern LPOVTESTCALLBACKS p_ov_test_callbacks;
- extern LPOVTESTOPEN p_ov_test_open;
- extern LPOVBITRATE p_ov_bitrate;
- extern LPOVBITRATEINSTANT p_ov_bitrate_instant;
- extern LPOVSTREAMS p_ov_streams;
- extern LPOVSEEKABLE p_ov_seekable;
- extern LPOVSERIALNUMBER p_ov_serialnumber;
- extern LPOVRAWTOTAL p_ov_raw_total;
- extern LPOVPCMTOTAL p_ov_pcm_total;
- extern LPOVTIMETOTAL p_ov_time_total;
- extern LPOVRAWSEEK p_ov_raw_seek;
- extern LPOVPCMSEEK p_ov_pcm_seek;
- extern LPOVPCMSEEKPAGE p_ov_pcm_seek_page;
- extern LPOVTIMESEEK p_ov_time_seek;
- extern LPOVTIMESEEKPAGE p_ov_time_seek_page;
- extern LPOVRAWSEEKLAP p_ov_raw_seek_lap;
- extern LPOVPCMSEEKLAP p_ov_pcm_seek_lap;
- extern LPOVPCMSEEKPAGELAP p_ov_pcm_seek_page_lap;
- extern LPOVTIMESEEKLAP p_ov_time_seek_lap;
- extern LPOVTIMESEEKPAGELAP p_ov_time_seek_page_lap;
- extern LPOVRAWTELL p_ov_raw_tell;
- extern LPOVPCMTELL p_ov_pcm_tell;
- extern LPOVTIMETELL p_ov_time_tell;
- extern LPOVINFO p_ov_info;
- extern LPOVCOMMENT p_ov_comment;
- extern LPOVREADFLOAT p_ov_read_float;
- extern LPOVREADFILTER p_ov_read_filter;
- extern LPOVREAD p_ov_read;
- extern LPOVCROSSLAP p_ov_crosslap;
- extern LPOVHALFRATE p_ov_halfrate;
- extern LPOVHALFRATEP p_ov_halfrate_p;
- #endif
|