diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 0cd4f41d819e4b204859bf6100a99cb0ee8a8496..487a0c2fdfeb5be933d8fdb921a71a7e6c17dbbf 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -869,6 +869,8 @@ static int mpegts_write_packet(AVFormatContext *s, AVPacket *pkt) memcpy(ts_st->payload + ts_st->payload_index, buf, size); ts_st->payload_index += size; + av_free(data); + return 0; } @@ -888,6 +890,7 @@ static int mpegts_write_end(AVFormatContext *s) mpegts_write_pes(s, st, ts_st->payload, ts_st->payload_index, ts_st->payload_pts, ts_st->payload_dts); } + av_freep(&ts_st->adts); } put_flush_packet(s->pb);