On Sat, 27 Feb 2021, Вадим Бездушный wrote:
Ping.
This patch is very trivial and solves memory leak which makes CENC
encryption quite hard to use on high load services.
Thanks, applied.
Regards,
Marton
вс, 31 янв. 2021 г. в 16:52, Vadym Bezdushnyi <vadim.bezd...@gmail.com>:
Signed-off-by: Vadym Bezdushnyi <vadim.bezd...@gmail.com>
---
Memory for auxillary_info was not freed after usage.
Leak can be reproduced with following commands:
Optionally, generate input video:
ffmpeg -f lavfi -i testsrc=duration=10:size=1280x720:rate=30 input.mp4
Run ffmpeg with valgrind:
valgrind --leak-check=full --show-leak-kinds=all \
ffmpeg -y -i input.mp4 -vcodec copy -acodec copy \
-encryption_scheme cenc-aes-ctr \
-encryption_key 00000000000000000000000000000000 \
-encryption_kid 00000000000000000000000000000000 \
ffmpeg_encrypted.mp4
For test video which has duration of 10 sec, leak is 4 Kb.
For 100 sec video, leak will be 33 Kb. Most likely,
leaked memory will grow linearly to the number of input frames.
libavformat/movenccenc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavformat/movenccenc.c b/libavformat/movenccenc.c
index b91294f706..74f3c4ccfb 100644
--- a/libavformat/movenccenc.c
+++ b/libavformat/movenccenc.c
@@ -412,4 +412,6 @@ int ff_mov_cenc_init(MOVMuxCencContext* ctx, uint8_t*
encryption_key,
void ff_mov_cenc_free(MOVMuxCencContext* ctx)
{
av_aes_ctr_free(ctx->aes_ctr);
+ av_freep(&ctx->auxiliary_info);
+ av_freep(&ctx->auxiliary_info_sizes);
}
--
2.30.0
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".