mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-29 18:53:02 +00:00
memleak patch by (Gildas Bazin <gbazin at altern dot org>)
Originally committed as revision 2678 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
303aebf97a
commit
ec7d0d2e9e
@ -893,6 +893,8 @@ static int mov_write_trailer(AVFormatContext *s)
|
|||||||
av_free(mov->tracks[i].cluster[j]);
|
av_free(mov->tracks[i].cluster[j]);
|
||||||
}
|
}
|
||||||
av_free(mov->tracks[i].cluster);
|
av_free(mov->tracks[i].cluster);
|
||||||
|
if( mov->tracks[i].vosLen ) av_free( mov->tracks[i].vosData );
|
||||||
|
|
||||||
mov->tracks[i].cluster = NULL;
|
mov->tracks[i].cluster = NULL;
|
||||||
mov->tracks[i].ents_allocated = mov->tracks[i].entry = 0;
|
mov->tracks[i].ents_allocated = mov->tracks[i].entry = 0;
|
||||||
}
|
}
|
||||||
|
@ -214,6 +214,9 @@ void mpegts_close_filter(MpegTSContext *ts, MpegTSFilter *filter)
|
|||||||
pid = filter->pid;
|
pid = filter->pid;
|
||||||
if (filter->type == MPEGTS_SECTION)
|
if (filter->type == MPEGTS_SECTION)
|
||||||
av_freep(&filter->u.section_filter.section_buf);
|
av_freep(&filter->u.section_filter.section_buf);
|
||||||
|
else if (filter->type == MPEGTS_PES)
|
||||||
|
av_freep(&filter->u.pes_filter.opaque);
|
||||||
|
|
||||||
av_free(filter);
|
av_free(filter);
|
||||||
ts->pids[pid] = NULL;
|
ts->pids[pid] = NULL;
|
||||||
}
|
}
|
||||||
@ -1271,7 +1274,7 @@ static int mpegts_read_close(AVFormatContext *s)
|
|||||||
MpegTSContext *ts = s->priv_data;
|
MpegTSContext *ts = s->priv_data;
|
||||||
int i;
|
int i;
|
||||||
for(i=0;i<NB_PID_MAX;i++)
|
for(i=0;i<NB_PID_MAX;i++)
|
||||||
av_free(ts->pids[i]);
|
if (ts->pids[i]) mpegts_close_filter(ts, ts->pids[i]);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user