lavf/matroskaenc: Fix memory leak after write trailer
authorJun Zhao <barryjzhao@tencent.com>
Thu, 4 Apr 2019 15:47:46 +0000 (23:47 +0800)
committerJun Zhao <barryjzhao@tencent.com>
Tue, 9 Apr 2019 01:16:07 +0000 (09:16 +0800)
commit0a347ff4222345c88b93d7962a696f0e9aae7ca2
treeae7ceee81c40f37f5ef17a132e930fd03b81095e
parentbb5efd1727eeecc9be8f1402810c7ab72344eed3
lavf/matroskaenc: Fix memory leak after write trailer

Fix memory leak after write trailer for #7827, only store a audio
packet whose buffer has size greater than zero in cur_audio_pkt.

Audio packets with size zero, but with side-data currently lead to
memleaks, in the Matroska muxer, because they are not properly freed:

They are currently put into an AVPacket in the MatroskaMuxContext to
ensure that the necessary audio is always available for a new cluster,
but are only written and freed when their size is > 0.

As the only use we have for such packets consists in updating the
CodecPrivate it makes no sense to store these packets at all and this
is how this commit solves the memleak.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
libavformat/matroskaenc.c