Module: libav Branch: master Commit: aa2e4bb0580b519156a6a34f1ee71cf063dfcaee
Author: Anton Khirnov <[email protected]> Committer: Anton Khirnov <[email protected]> Date: Wed Jan 18 08:07:40 2012 +0100 lavf: free packets for muxers implementing interleave_packet(). Fixes a memleak. --- libavformat/utils.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index 373f068..b1832ba 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -3218,9 +3218,12 @@ int av_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out, AVPacket *pk * < 0 if an error occurred */ static int interleave_packet(AVFormatContext *s, AVPacket *out, AVPacket *in, int flush){ - if(s->oformat->interleave_packet) - return s->oformat->interleave_packet(s, out, in, flush); - else + if (s->oformat->interleave_packet) { + int ret = s->oformat->interleave_packet(s, out, in, flush); + if (in) + av_free_packet(in); + return ret; + } else return av_interleave_packet_per_dts(s, out, in, flush); } _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
