diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 4492c5bfef2d56aa2922e0f17ca065ae84df6475..04e10b6413076d52ebd429e9ab3e9fa6204d6da2 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -2066,6 +2066,7 @@ static int mpegts_read_packet(AVFormatContext *s, ts->pkt = pkt; ret = handle_packets(ts, 0); if (ret < 0) { + av_free_packet(ts->pkt); /* flush pes data left */ for (i = 0; i < NB_PID_MAX; i++) { if (ts->pids[i] && ts->pids[i]->type == MPEGTS_PES) {