Browse Source

lavf: free packets for muxers implementing interleave_packet().

Fixes a memleak.
tags/n0.10
Anton Khirnov 14 years ago
parent
commit
aa2e4bb058
1 changed files with 6 additions and 3 deletions
  1. +6
    -3
      libavformat/utils.c

+ 6
- 3
libavformat/utils.c View File

@@ -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);
}



Loading…
Cancel
Save