diff options
author | uau <uau@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-02-10 18:12:03 +0000 |
---|---|---|
committer | uau <uau@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-02-10 18:12:03 +0000 |
commit | e876e45030738ae5e40f97182dd44dbfdd9555ae (patch) | |
tree | 8279da8add32860ddb2aacc47f38802ebe2f08a8 /libaf/af_lavcresample.c | |
parent | 945cb3447e83464d2496225a54e198be047a1b5d (diff) | |
download | mpv-e876e45030738ae5e40f97182dd44dbfdd9555ae.tar.bz2 mpv-e876e45030738ae5e40f97182dd44dbfdd9555ae.tar.xz |
Fix memory leaks.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22197 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libaf/af_lavcresample.c')
-rw-r--r-- | libaf/af_lavcresample.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libaf/af_lavcresample.c b/libaf/af_lavcresample.c index 84e709f739..1f7f69c69b 100644 --- a/libaf/af_lavcresample.c +++ b/libaf/af_lavcresample.c @@ -79,10 +79,14 @@ static int control(struct af_instance_s* af, int cmd, void* arg) static void uninit(struct af_instance_s* af) { if(af->data) - free(af->data); + free(af->data->audio); + free(af->data); if(af->setup){ af_resample_t *s = af->setup; if(s->avrctx) av_resample_close(s->avrctx); + int i; + for (i=0; i < AF_NCH; i++) + free(s->in[i]); free(s); } } @@ -109,7 +113,7 @@ static af_data_t* play(struct af_instance_s* af, af_data_t* data) if(s->in_alloc < in_len + s->index){ s->in_alloc= in_len + s->index; for(i=0; i<chans; i++){ - s->in[i]= realloc(s->in[i], s->in_alloc*sizeof(int16_t)); //FIXME free this maybe ;) + s->in[i]= realloc(s->in[i], s->in_alloc*sizeof(int16_t)); } } |