34 #define GENERAL_VENDOR_STRING "Xiph.Org libVorbis 1.3.2"
35 #define ENCODE_VENDOR_STRING "Xiph.Org libVorbis I 20101101 (Schaufenugget)"
78 char *comment=alloca(strlen(tag)+strlen(contents)+2);
81 strcat(comment, contents);
90 if(toupper(s1[c]) != toupper(s2[c]))
100 int taglen = strlen(tag)+1;
101 char *fulltag = alloca(taglen+ 1);
103 strcpy(fulltag, tag);
104 strcat(fulltag,
"=");
120 int taglen = strlen(tag)+1;
121 char *fulltag = alloca(taglen+1);
123 strcat(fulltag,
"=");
166 for(i=0;i<ci->
modes;i++)
169 for(i=0;i<ci->
maps;i++)
187 for(i=0;i<ci->
books;i++){
198 for(i=0;i<ci->
psys;i++)
226 if(vi->
rate<1)
goto err_out;
243 if(vendorlen<0)
goto err_out;
244 if(vendorlen>opb->
storage-8)
goto err_out;
256 if(len<0)
goto err_out;
279 if(ci->
books<=0)
goto err_out;
280 for(i=0;i<ci->
books;i++){
288 if(times<=0)
goto err_out;
289 for(i=0;i<times;i++){
291 if(test<0 || test>=
VI_TIMEB)
goto err_out;
297 if(ci->
floors<=0)
goto err_out;
298 for(i=0;i<ci->
floors;i++){
317 if(ci->
maps<=0)
goto err_out;
318 for(i=0;i<ci->
maps;i++){
327 if(ci->
modes<=0)
goto err_out;
328 for(i=0;i<ci->
modes;i++){
365 if(memcmp(buffer,
"vorbis",6))
392 if(memcmp(buffer,
"vorbis",6)){
501 for(i=0;i<ci->
books;i++)
510 for(i=0;i<ci->
floors;i++){
527 for(i=0;i<ci->
maps;i++){
534 for(i=0;i<ci->
modes;i++){
632 memset(op_comm,0,
sizeof(*op_comm));
633 memset(op_code,0,
sizeof(*op_code));
648 if(granulepos == -1)
return -1;
653 return((
double)granulepos/v->
vi->
rate);
657 granuleoff|=0x7ffffffff;
658 return(((
double)granulepos+2+granuleoff+granuleoff)/v->
vi->
rate);
void(* free_info)(vorbis_info_floor *)
vorbis_info_floor *(* unpack)(vorbis_info *, oggpack_buffer *)
vorbis_info_residue * residue_param[64]
void vorbis_comment_init(vorbis_comment *vc)
void vorbis_comment_add_tag(vorbis_comment *vc, const char *tag, const char *contents)
void vorbis_staticbook_destroy(static_codebook *b)
static int _vorbis_unpack_books(vorbis_info *vi, oggpack_buffer *opb)
const vorbis_func_residue *const _residue_P[]
vorbis_info_floor * floor_param[64]
static_codebook * book_param[256]
double vorbis_granule_time(vorbis_dsp_state *v, ogg_int64_t granulepos)
int vorbis_comment_query_count(vorbis_comment *vc, const char *tag)
void oggpack_write(oggpack_buffer *b, unsigned long value, int bits)
static int _vorbis_pack_info(oggpack_buffer *opb, vorbis_info *vi)
int vorbis_synthesis_headerin(vorbis_info *vi, vorbis_comment *vc, ogg_packet *op)
void vorbis_comment_clear(vorbis_comment *vc)
int vorbis_commentheader_out(vorbis_comment *vc, ogg_packet *op)
vorbis_info_mode * mode_param[64]
void(* free_info)(vorbis_info_mapping *)
void(* pack)(vorbis_info_floor *, oggpack_buffer *)
const vorbis_func_floor *const _floor_P[]
int vorbis_staticbook_pack(const static_codebook *c, oggpack_buffer *opb)
static int ilog2(unsigned int v)
vorbis_info_mapping *(* unpack)(vorbis_info *, oggpack_buffer *)
EGLContext EGLenum EGLClientBuffer buffer
void vorbis_book_clear(codebook *b)
static int _vorbis_unpack_info(vorbis_info *vi, oggpack_buffer *opb)
void(* pack)(vorbis_info *, vorbis_info_mapping *, oggpack_buffer *)
vorbis_info_residue *(* unpack)(vorbis_info *, oggpack_buffer *)
void _vi_psy_free(vorbis_info_psy *i)
#define ENCODE_VENDOR_STRING
void oggpack_readinit(oggpack_buffer *b, unsigned char *buf, int bytes)
int vorbis_info_blocksize(vorbis_info *vi, int zo)
int vorbis_analysis_headerout(vorbis_dsp_state *v, vorbis_comment *vc, ogg_packet *op, ogg_packet *op_comm, ogg_packet *op_code)
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat s1
static int _vorbis_pack_books(oggpack_buffer *opb, vorbis_info *vi)
void(* pack)(vorbis_info_residue *, oggpack_buffer *)
static void _v_writestring(oggpack_buffer *o, const char *s, int bytes)
static void _v_readstring(oggpack_buffer *o, char *buf, int bytes)
int vorbis_synthesis_idheader(ogg_packet *op)
GLenum GLuint GLsizei const GLchar * buf
void oggpack_writeinit(oggpack_buffer *b)
long oggpack_bytes(oggpack_buffer *b)
static int _vorbis_pack_comment(oggpack_buffer *opb, vorbis_comment *vc)
void vorbis_info_clear(vorbis_info *vi)
void oggpack_reset(oggpack_buffer *b)
GLdouble GLdouble GLdouble b
static int tagcompare(const char *s1, const char *s2, int n)
void vorbis_info_init(vorbis_info *vi)
static int _vorbis_unpack_comment(vorbis_comment *vc, oggpack_buffer *opb)
vorbis_info_psy * psy_param[4]
const char * vorbis_version_string(void)
#define GENERAL_VENDOR_STRING
const vorbis_func_mapping *const _mapping_P[]
void oggpack_writeclear(oggpack_buffer *b)
long oggpack_read(oggpack_buffer *b, int bits)
char * vorbis_comment_query(vorbis_comment *vc, const char *tag, int count)
void(* free_info)(vorbis_info_residue *)
void vorbis_comment_add(vorbis_comment *vc, const char *comment)
static_codebook * vorbis_staticbook_unpack(oggpack_buffer *opb)
vorbis_info_mapping * map_param[64]