diff --git a/libavformat/internal.h b/libavformat/internal.h index 98341ba217..f1ae7db365 100644 --- a/libavformat/internal.h +++ b/libavformat/internal.h @@ -121,7 +121,9 @@ typedef struct FFFormatContext { AVPacket *parse_pkt; /** - * Used to hold temporary packets. + * Used to hold temporary packets for the generic demuxing code. + * When muxing, it may be used by muxers to hold packets (even + * permanent ones). */ AVPacket *pkt; /** diff --git a/libavformat/mux.c b/libavformat/mux.c index 3d007ec943..be9ba88365 100644 --- a/libavformat/mux.c +++ b/libavformat/mux.c @@ -1292,6 +1292,7 @@ int av_write_trailer(AVFormatContext *s) if (s->oformat->priv_class) av_opt_free(s->priv_data); av_freep(&s->priv_data); + av_packet_unref(si->pkt); return ret; }