********************************************************************
function: single-block PCM analysis mode dispatch
- last mod: $Id: analysis.c,v 1.37 2000/11/08 13:16:27 xiphmont Exp $
+ last mod: $Id: analysis.c,v 1.38 2000/11/14 00:05:30 xiphmont Exp $
********************************************************************/
if(vb->W){
oggpack_write(&vb->opb,vb->lW,1);
oggpack_write(&vb->opb,vb->nW,1);
- /*fprintf(stderr,"*");
+ fprintf(stderr,"*");
}else{
- fprintf(stderr,".");*/
+ fprintf(stderr,".");
}
if((ret=_mapping_P[type]->forward(vb,b->mode[mode])))
********************************************************************
function: PCM data vector blocking, windowing and dis/reassembly
- last mod: $Id: block.c,v 1.40 2000/11/06 00:07:00 xiphmont Exp $
+ last mod: $Id: block.c,v 1.41 2000/11/14 00:05:30 xiphmont Exp $
Handle windowing, overlap-add, etc of the PCM vectors. This is made
more amusing by Vorbis' current two allowed block sizes.
struct alloc_chain *reap=vb->reap;
while(reap){
struct alloc_chain *next=reap->next;
- free(reap->ptr);
+ _ogg_free(reap->ptr);
memset(reap,0,sizeof(struct alloc_chain));
- free(reap);
+ _ogg_free(reap);
reap=next;
}
/* consolidate storage */
if(vb->vd->analysisp)
oggpack_writeclear(&vb->opb);
_vorbis_block_ripcord(vb);
- if(vb->localstore)free(vb->localstore);
+ if(vb->localstore)_ogg_free(vb->localstore);
memset(vb,0,sizeof(vorbis_block));
return(0);
if(b){
if(b->window[0][0][0]){
for(i=0;i<VI_WINDOWB;i++)
- if(b->window[0][0][0][i])free(b->window[0][0][0][i]);
- free(b->window[0][0][0]);
+ if(b->window[0][0][0][i])_ogg_free(b->window[0][0][0][i]);
+ _ogg_free(b->window[0][0][0]);
for(j=0;j<2;j++)
for(k=0;k<2;k++){
for(i=0;i<VI_WINDOWB;i++)
- if(b->window[1][j][k][i])free(b->window[1][j][k][i]);
- free(b->window[1][j][k]);
+ if(b->window[1][j][k][i])_ogg_free(b->window[1][j][k][i]);
+ _ogg_free(b->window[1][j][k]);
}
}
if(b->ve){
_ve_envelope_clear(b->ve);
- free(b->ve);
+ _ogg_free(b->ve);
}
if(b->transform[0]){
mdct_clear(b->transform[0][0]);
- free(b->transform[0][0]);
- free(b->transform[0]);
+ _ogg_free(b->transform[0][0]);
+ _ogg_free(b->transform[0]);
}
if(b->transform[1]){
mdct_clear(b->transform[1][0]);
- free(b->transform[1][0]);
- free(b->transform[1]);
+ _ogg_free(b->transform[1][0]);
+ _ogg_free(b->transform[1]);
}
}
if(v->pcm){
for(i=0;i<vi->channels;i++)
- if(v->pcm[i])free(v->pcm[i]);
- free(v->pcm);
- if(v->pcmret)free(v->pcmret);
+ if(v->pcm[i])_ogg_free(v->pcm[i]);
+ _ogg_free(v->pcm);
+ if(v->pcmret)_ogg_free(v->pcmret);
}
/* free mode lookups; these are actually vorbis_look_mapping structs */
}
if(b){
- if(b->mode)free(b->mode);
- if(b->fullbooks)free(b->fullbooks);
+ if(b->mode)_ogg_free(b->mode);
+ if(b->fullbooks)_ogg_free(b->fullbooks);
/* free header, header1, header2 */
- if(b->header)free(b->header);
- if(b->header1)free(b->header1);
- if(b->header2)free(b->header2);
- free(b);
+ if(b->header)_ogg_free(b->header);
+ if(b->header1)_ogg_free(b->header1);
+ if(b->header2)_ogg_free(b->header2);
+ _ogg_free(b);
}
memset(v,0,sizeof(vorbis_dsp_state));
backend_lookup_state *b=v->backend_state;
/* free header, header1, header2 */
- if(b->header)free(b->header);b->header=NULL;
- if(b->header1)free(b->header1);b->header1=NULL;
- if(b->header2)free(b->header2);b->header2=NULL;
+ if(b->header)_ogg_free(b->header);b->header=NULL;
+ if(b->header1)_ogg_free(b->header1);b->header1=NULL;
+ if(b->header2)_ogg_free(b->header2);b->header2=NULL;
/* Do we have enough storage space for the requested buffer? If not,
expand the PCM (and envelope) storage */
********************************************************************
function: PCM data envelope analysis and manipulation
- last mod: $Id: envelope.c,v 1.25 2000/11/07 09:51:42 xiphmont Exp $
+ last mod: $Id: envelope.c,v 1.26 2000/11/14 00:05:30 xiphmont Exp $
Preecho calculation.
int i;
for(i=0;i<e->ch;i++){
IIR_clear((e->iir+i));
- free(e->filtered[i]);
+ _ogg_free(e->filtered[i]);
}
drft_clear(&e->drft);
- free(e->window);
- free(e->filtered);
+ _ogg_free(e->window);
+ _ogg_free(e->filtered);
memset(e,0,sizeof(envelope_lookup));
}
********************************************************************
function: floor backend 0 implementation
- last mod: $Id: floor0.c,v 1.27 2000/11/07 09:51:42 xiphmont Exp $
+ last mod: $Id: floor0.c,v 1.28 2000/11/14 00:05:31 xiphmont Exp $
********************************************************************/
static void floor0_free_info(vorbis_info_floor *i){
if(i){
memset(i,0,sizeof(vorbis_info_floor0));
- free(i);
+ _ogg_free(i);
}
}
static void floor0_free_look(vorbis_look_floor *i){
vorbis_look_floor0 *look=(vorbis_look_floor0 *)i;
if(i){
- if(look->linearmap)free(look->linearmap);
- if(look->lsp_look)free(look->lsp_look);
+ if(look->linearmap)_ogg_free(look->linearmap);
+ if(look->lsp_look)_ogg_free(look->lsp_look);
lpc_clear(&look->lpclook);
memset(look,0,sizeof(vorbis_look_floor0));
- free(look);
+ _ogg_free(look);
}
}
codebook *b=be->fullbooks+info->books[booknum];
float last=0.;
- memset(out,0,sizeof(double)*look->m);
+ memset(out,0,sizeof(float)*look->m);
for(j=0;j<look->m;j+=b->dim)
if(vorbis_book_decodevs(b,lsp+j,&vb->opb,1,-1)==-1)goto eop;
********************************************************************
function: Direct Form I, II IIR filters, plus some specializations
- last mod: $Id: iir.c,v 1.4 2000/11/07 09:51:43 xiphmont Exp $
+ last mod: $Id: iir.c,v 1.5 2000/11/14 00:05:31 xiphmont Exp $
********************************************************************/
void IIR_clear(IIR_state *s){
if(s){
- free(s->coeff_A);
- free(s->coeff_B);
- free(s->z_A);
+ _ogg_free(s->coeff_A);
+ _ogg_free(s->coeff_B);
+ _ogg_free(s->z_A);
memset(s,0,sizeof(IIR_state));
}
}
********************************************************************
function: maintain the info structure, info <-> header packets
- last mod: $Id: info.c,v 1.32 2000/11/06 00:07:00 xiphmont Exp $
+ last mod: $Id: info.c,v 1.33 2000/11/14 00:05:31 xiphmont Exp $
********************************************************************/
if(vc){
long i;
for(i=0;i<vc->comments;i++)
- if(vc->user_comments[i])free(vc->user_comments[i]);
- if(vc->user_comments)free(vc->user_comments);
- if(vc->comment_lengths)free(vc->comment_lengths);
- if(vc->vendor)free(vc->vendor);
+ if(vc->user_comments[i])_ogg_free(vc->user_comments[i]);
+ if(vc->user_comments)_ogg_free(vc->user_comments);
+ if(vc->comment_lengths)_ogg_free(vc->comment_lengths);
+ if(vc->vendor)_ogg_free(vc->vendor);
}
memset(vc,0,sizeof(vorbis_comment));
}
if(ci){
for(i=0;i<ci->modes;i++)
- if(ci->mode_param[i])free(ci->mode_param[i]);
+ if(ci->mode_param[i])_ogg_free(ci->mode_param[i]);
for(i=0;i<ci->maps;i++) /* unpack does the range checking */
_mapping_P[ci->map_type[i]]->free_info(ci->map_param[i]);
for(i=0;i<ci->psys;i++)
_vi_psy_free(ci->psy_param[i]);
- free(ci);
+ _ogg_free(ci);
}
memset(vi,0,sizeof(vorbis_info));
if(_vorbis_pack_info(&opb,vi))goto err_out;
/* build the packet */
- if(b->header)free(b->header);
+ if(b->header)_ogg_free(b->header);
b->header=_ogg_malloc(oggpack_bytes(&opb));
memcpy(b->header,opb.buffer,oggpack_bytes(&opb));
op->packet=b->header;
oggpack_reset(&opb);
if(_vorbis_pack_comment(&opb,vc))goto err_out;
- if(b->header1)free(b->header1);
+ if(b->header1)_ogg_free(b->header1);
b->header1=_ogg_malloc(oggpack_bytes(&opb));
memcpy(b->header1,opb.buffer,oggpack_bytes(&opb));
op_comm->packet=b->header1;
oggpack_reset(&opb);
if(_vorbis_pack_books(&opb,vi))goto err_out;
- if(b->header2)free(b->header2);
+ if(b->header2)_ogg_free(b->header2);
b->header2=_ogg_malloc(oggpack_bytes(&opb));
memcpy(b->header2,opb.buffer,oggpack_bytes(&opb));
op_code->packet=b->header2;
memset(op_comm,0,sizeof(ogg_packet));
memset(op_code,0,sizeof(ogg_packet));
- if(b->header)free(b->header);
- if(b->header1)free(b->header1);
- if(b->header2)free(b->header2);
+ if(b->header)_ogg_free(b->header);
+ if(b->header1)_ogg_free(b->header1);
+ if(b->header2)_ogg_free(b->header2);
b->header=NULL;
b->header1=NULL;
b->header2=NULL;
********************************************************************
function: channel mapping 0 implementation
- last mod: $Id: mapping0.c,v 1.18 2000/11/07 09:51:43 xiphmont Exp $
+ last mod: $Id: mapping0.c,v 1.19 2000/11/14 00:05:31 xiphmont Exp $
********************************************************************/
static void mapping0_free_info(vorbis_info_mapping *i){
if(i){
memset(i,0,sizeof(vorbis_info_mapping0));
- free(i);
+ _ogg_free(i);
}
}
if(l->decay){
for(i=0;i<l->ch;i++){
- if(l->decay[i])free(l->decay[i]);
+ if(l->decay[i])_ogg_free(l->decay[i]);
}
- free(l->decay);
+ _ogg_free(l->decay);
}
- free(l->time_func);
- free(l->floor_func);
- free(l->residue_func);
- free(l->time_look);
- free(l->floor_look);
- free(l->residue_look);
- if(l->psy_look)free(l->psy_look);
+ _ogg_free(l->time_func);
+ _ogg_free(l->floor_func);
+ _ogg_free(l->residue_func);
+ _ogg_free(l->time_look);
+ _ogg_free(l->floor_look);
+ _ogg_free(l->residue_look);
+ if(l->psy_look)_ogg_free(l->psy_look);
memset(l,0,sizeof(vorbis_look_mapping0));
- free(l);
+ _ogg_free(l);
}
}
function: normalized modified discrete cosine transform
power of two length transform only [16 <= n ]
- last mod: $Id: mdct.c,v 1.18 2000/11/06 00:07:01 xiphmont Exp $
+ last mod: $Id: mdct.c,v 1.19 2000/11/14 00:05:31 xiphmont Exp $
Algorithm adapted from _The use of multirate filter banks for coding
of high quality digital audio_, by T. Sporer, K. Brandenburg and
void mdct_clear(mdct_lookup *l){
if(l){
- if(l->trig)free(l->trig);
- if(l->bitrev)free(l->bitrev);
+ if(l->trig)_ogg_free(l->trig);
+ if(l->bitrev)_ogg_free(l->bitrev);
memset(l,0,sizeof(mdct_lookup));
}
}
if(pinsert>=palloced){
palloced+=64;
if(pointers){
- pointers=(void **)_ogg_realloc(pointers,sizeof(void **)*palloced);
- insertlist=(long *)_ogg_realloc(insertlist,sizeof(long *)*palloced);
+ pointers=(void **)realloc(pointers,sizeof(void **)*palloced);
+ insertlist=(long *)realloc(insertlist,sizeof(long *)*palloced);
}else{
- pointers=(void **)_ogg_malloc(sizeof(void **)*palloced);
- insertlist=(long *)_ogg_malloc(sizeof(long *)*palloced);
+ pointers=(void **)malloc(sizeof(void **)*palloced);
+ insertlist=(long *)malloc(sizeof(long *)*palloced);
}
}
pthread_mutex_unlock(&memlock);
}
-extern void *_VDBG__ogg_malloc(void *ptr,long bytes,char *file,long line){
+extern void *_VDBG_malloc(void *ptr,long bytes,char *file,long line){
bytes+=HEAD_ALIGN;
if(ptr){
ptr-=HEAD_ALIGN;
_ripremove(ptr);
- ptr=_ogg_realloc(ptr,bytes);
+ ptr=realloc(ptr,bytes);
}else{
- ptr=_ogg_malloc(bytes);
+ ptr=malloc(bytes);
memset(ptr,0,bytes);
}
return _insert(ptr,file,line);
********************************************************************
function: miscellaneous prototypes
- last mod: $Id: misc.h,v 1.6 2000/11/06 00:07:01 xiphmont Exp $
+ last mod: $Id: misc.h,v 1.7 2000/11/14 00:05:31 xiphmont Exp $
********************************************************************/
extern void _analysis_output(char *base,int i,float *v,int n,int bark,int dB);
#ifdef DEBUG_LEAKS
-extern void *_VDBG__ogg_malloc(void *ptr,long bytes,char *file,long line);
+extern void *_VDBG_malloc(void *ptr,long bytes,char *file,long line);
extern void _VDBG_free(void *ptr,char *file,long line);
#ifndef MISC_C
#undef _ogg_malloc
#undef _ogg_calloc
#undef _ogg_realloc
-#undef free
+#undef _ogg_free
#define _ogg_malloc(x) _VDBG__ogg_malloc(NULL,(x),__FILE__,__LINE__)
#define _ogg_calloc(x,y) _VDBG__ogg_malloc(NULL,(x)*(y),__FILE__,__LINE__)
#define _ogg_realloc(x,y) _VDBG__ogg_malloc((x),(y),__FILE__,__LINE__)
-#define free(x) _VDBG_free((x),__FILE__,__LINE__)
+#define _ogg_free(x) _VDBG__ogg_free((x),__FILE__,__LINE__)
#endif
#endif
********************************************************************
function: predefined encoding modes
- last mod: $Id: mode_A.h,v 1.3 2000/11/08 06:08:16 xiphmont Exp $
+ last mod: $Id: mode_A.h,v 1.4 2000/11/14 00:05:35 xiphmont Exp $
********************************************************************/
/* with GNUisms, this could be short and readable. Oh well */
static vorbis_info_time0 _time_set0A={0};
-static vorbis_info_floor0 _floor_set0A={12, 44100, 64, 12,150, 1, {0} };
+static vorbis_info_floor0 _floor_set0A={30, 44100, 256, 12,150, 1, {1} };
static vorbis_info_floor0 _floor_set1A={30, 44100, 256, 12,150, 1, {1} };
static vorbis_info_residue0 _residue_set0A={0,128, 32,6,2,
{0,1,1,1,1,1},
********************************************************************
function: predefined encoding modes
- last mod: $Id: mode_D.h,v 1.3 2000/11/08 13:16:33 xiphmont Exp $
+ last mod: $Id: mode_D.h,v 1.4 2000/11/14 00:05:35 xiphmont Exp $
********************************************************************/
/* with GNUisms, this could be short and readable. Oh well */
static vorbis_info_time0 _time_set0_256={0};
-static vorbis_info_floor0 _floor_set0_256={12, 44100, 64, 12,150, 1, {0} };
+static vorbis_info_floor0 _floor_set0_256={30, 44100, 256, 12,150, 1, {1} };
static vorbis_info_floor0 _floor_set1_256={30, 44100, 256, 12,150, 1, {1} };
static vorbis_info_residue0 _residue_set0_256={0,128, 32,6,2,
{0,1,1,1,1,1},
/* psy */
{&_psy_set_256},
/* thresh sample period, preecho clamp trigger threshhold, range, minenergy */
- 256, 24, 6, -96.
+ 256, 0, 6, -96.
};
#define PREDEF_INFO_MAX 0
********************************************************************
function: psychoacoustics not including preecho
- last mod: $Id: psy.c,v 1.31 2000/11/08 06:08:11 xiphmont Exp $
+ last mod: $Id: psy.c,v 1.32 2000/11/14 00:05:31 xiphmont Exp $
********************************************************************/
void _vi_psy_free(vorbis_info_psy *i){
if(i){
memset(i,0,sizeof(vorbis_info_psy));
- free(i);
+ _ogg_free(i);
}
}
void _vp_psy_clear(vorbis_look_psy *p){
int i,j;
if(p){
- if(p->ath)free(p->ath);
- if(p->octave)free(p->octave);
+ if(p->ath)_ogg_free(p->ath);
+ if(p->octave)_ogg_free(p->octave);
if(p->tonecurves){
for(i=0;i<P_BANDS;i++){
for(j=0;j<P_LEVELS;j++){
- free(p->tonecurves[i][j]);
+ _ogg_free(p->tonecurves[i][j]);
}
- free(p->noiseatt[i]);
- free(p->tonecurves[i]);
- free(p->peakatt[i]);
+ _ogg_free(p->noiseatt[i]);
+ _ogg_free(p->tonecurves[i]);
+ _ogg_free(p->peakatt[i]);
}
- free(p->tonecurves);
- free(p->noiseatt);
- free(p->peakatt);
+ _ogg_free(p->tonecurves);
+ _ogg_free(p->noiseatt);
+ _ogg_free(p->peakatt);
}
memset(p,0,sizeof(vorbis_look_psy));
}
function: simple utility that runs audio through the psychoacoustics
without encoding
- last mod: $Id: psytune.c,v 1.9 2000/11/08 06:08:12 xiphmont Exp $
+ last mod: $Id: psytune.c,v 1.10 2000/11/14 00:05:31 xiphmont Exp $
********************************************************************/
/* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
/* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
- 1,/* tonemaskp */
+ 0,/* tonemaskp */
/* 0 10 20 30 40 50 60 70 80 90 100 */
{{-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*63*/
{-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*88*/
{-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*16000*/
},
- 0,/* peakattp */
+ 1,/* peakattp */
{{-14.,-16.,-18.,-19.,-20.,-21.,-22.,-22.,-22.,-22.,-22.}, /*63*/
{-14.,-16.,-18.,-19.,-20.,-21.,-22.,-22.,-22.,-22.,-22.}, /*88*/
{-14.,-16.,-18.,-19.,-20.,-21.,-22.,-22.,-22.,-22.,-22.}, /*125*/
********************************************************************
function: residue backend 0 implementation
- last mod: $Id: res0.c,v 1.20 2000/11/08 13:16:27 xiphmont Exp $
+ last mod: $Id: res0.c,v 1.21 2000/11/14 00:05:31 xiphmont Exp $
********************************************************************/
void res0_free_info(vorbis_info_residue *i){
if(i){
memset(i,0,sizeof(vorbis_info_residue0));
- free(i);
+ _ogg_free(i);
}
}
if(i){
vorbis_look_residue0 *look=(vorbis_look_residue0 *)i;
for(j=0;j<look->parts;j++)
- if(look->partbooks[j])free(look->partbooks[j]);
- free(look->partbooks);
+ if(look->partbooks[j])_ogg_free(look->partbooks[j]);
+ _ogg_free(look->partbooks);
for(j=0;j<look->partvals;j++)
- free(look->decodemap[j]);
- free(look->decodemap);
+ _ogg_free(look->decodemap[j]);
+ _ogg_free(look->decodemap);
memset(i,0,sizeof(vorbis_look_residue0));
- free(i);
+ _ogg_free(i);
}
}
********************************************************************
function: basic shared codebook operations
- last mod: $Id: sharedbook.c,v 1.11 2000/11/08 13:16:27 xiphmont Exp $
+ last mod: $Id: sharedbook.c,v 1.12 2000/11/14 00:05:31 xiphmont Exp $
********************************************************************/
/* update ourself */
if(length<32 && (entry>>length)){
/* error condition; the lengths must specify an overpopulated tree */
- free(r);
+ _ogg_free(r);
return(NULL);
}
r[i]=entry;
ptr1[ptr]=-i;
}
}
- free(codelist);
+ _ogg_free(codelist);
t->tabn = _ilog(c->entries)-4; /* this is magic */
if(t->tabn<5)t->tabn=5;
void vorbis_staticbook_clear(static_codebook *b){
if(b->allocedp){
- if(b->quantlist)free(b->quantlist);
- if(b->lengthlist)free(b->lengthlist);
+ if(b->quantlist)_ogg_free(b->quantlist);
+ if(b->lengthlist)_ogg_free(b->lengthlist);
if(b->nearest_tree){
- free(b->nearest_tree->ptr0);
- free(b->nearest_tree->ptr1);
- free(b->nearest_tree->p);
- free(b->nearest_tree->q);
+ _ogg_free(b->nearest_tree->ptr0);
+ _ogg_free(b->nearest_tree->ptr1);
+ _ogg_free(b->nearest_tree->p);
+ _ogg_free(b->nearest_tree->q);
memset(b->nearest_tree,0,sizeof(encode_aux_nearestmatch));
- free(b->nearest_tree);
+ _ogg_free(b->nearest_tree);
}
if(b->thresh_tree){
- free(b->thresh_tree->quantthresh);
- free(b->thresh_tree->quantmap);
+ _ogg_free(b->thresh_tree->quantthresh);
+ _ogg_free(b->thresh_tree->quantmap);
memset(b->thresh_tree,0,sizeof(encode_aux_threshmatch));
- free(b->thresh_tree);
+ _ogg_free(b->thresh_tree);
}
memset(b,0,sizeof(static_codebook));
void vorbis_staticbook_destroy(static_codebook *b){
if(b->allocedp){
vorbis_staticbook_clear(b);
- free(b);
+ _ogg_free(b);
}
}
/* static book is not cleared; we're likely called on the lookup and
the static codebook belongs to the info struct */
if(b->decode_tree){
- free(b->decode_tree->ptr0);
- free(b->decode_tree->ptr1);
+ _ogg_free(b->decode_tree->tab);
+ _ogg_free(b->decode_tree->tabl);
+
+ _ogg_free(b->decode_tree->ptr0);
+ _ogg_free(b->decode_tree->ptr1);
memset(b->decode_tree,0,sizeof(decode_aux));
- free(b->decode_tree);
+ _ogg_free(b->decode_tree);
}
- if(b->valuelist)free(b->valuelist);
- if(b->codelist)free(b->codelist);
+ if(b->valuelist)_ogg_free(b->valuelist);
+ if(b->codelist)_ogg_free(b->codelist);
memset(b,0,sizeof(codebook));
}
********************************************************************
function: *unnormalized* fft transform
- last mod: $Id: smallft.c,v 1.10 2000/11/06 00:07:02 xiphmont Exp $
+ last mod: $Id: smallft.c,v 1.11 2000/11/14 00:05:31 xiphmont Exp $
********************************************************************/
void drft_clear(drft_lookup *l){
if(l){
- if(l->trigcache)free(l->trigcache);
- if(l->splitcache)free(l->splitcache);
+ if(l->trigcache)_ogg_free(l->trigcache);
+ if(l->splitcache)_ogg_free(l->splitcache);
memset(l,0,sizeof(drft_lookup));
}
}
else
amp[i]=32767.;
+ fprintf(stderr,"%g Hz, %g amp\n",f[i],amp[i]);
+
i++;
}
********************************************************************
function: stdio-based convenience library for opening/seeking/decoding
- last mod: $Id: vorbisfile.c,v 1.31 2000/11/06 00:07:02 xiphmont Exp $
+ last mod: $Id: vorbisfile.c,v 1.32 2000/11/14 00:05:32 xiphmont Exp $
********************************************************************/
vorbis_info_clear(vf->vi+i);
vorbis_comment_clear(vf->vc+i);
}
- free(vf->vi);
- free(vf->vc);
+ _ogg_free(vf->vi);
+ _ogg_free(vf->vc);
}
- if(vf->dataoffsets)free(vf->dataoffsets);
- if(vf->pcmlengths)free(vf->pcmlengths);
- if(vf->serialnos)free(vf->serialnos);
- if(vf->offsets)free(vf->offsets);
+ if(vf->dataoffsets)_ogg_free(vf->dataoffsets);
+ if(vf->pcmlengths)_ogg_free(vf->pcmlengths);
+ if(vf->serialnos)_ogg_free(vf->serialnos);
+ if(vf->offsets)_ogg_free(vf->offsets);
ogg_sync_clear(&vf->oy);
if(vf->datasource)(vf->callbacks.close_func)(vf->datasource);
memset(vf,0,sizeof(OggVorbis_File));
********************************************************************
function: window functions
- last mod: $Id: window.c,v 1.9 2000/11/06 00:07:03 xiphmont Exp $
+ last mod: $Id: window.c,v 1.10 2000/11/14 00:05:32 xiphmont Exp $
********************************************************************/
}
break;
default:
- free(ret);
+ _ogg_free(ret);
return(NULL);
}
return(ret);