X-Git-Url: https://git.videolan.org/?p=ffmpeg.git;a=blobdiff_plain;f=libavformat%2Fmpegts.c;h=2ad5aa5c7692ab120f51d628fee92cacbda69bad;hp=2da011a57efd0b9ef082705a9b6c8b2c37f32231;hb=ec7d0d2e9ec9c9e5ed6df5446c11ede90d602928;hpb=303aebf97a1537185aa47f262eb9d756b0e315a7 diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 2da011a57e..2ad5aa5c76 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -214,6 +214,9 @@ void mpegts_close_filter(MpegTSContext *ts, MpegTSFilter *filter) pid = filter->pid; if (filter->type == MPEGTS_SECTION) av_freep(&filter->u.section_filter.section_buf); + else if (filter->type == MPEGTS_PES) + av_freep(&filter->u.pes_filter.opaque); + av_free(filter); ts->pids[pid] = NULL; } @@ -1271,7 +1274,7 @@ static int mpegts_read_close(AVFormatContext *s) MpegTSContext *ts = s->priv_data; int i; for(i=0;ipids[i]); + if (ts->pids[i]) mpegts_close_filter(ts, ts->pids[i]); return 0; }