From eae7338e1592f4a398b7c3cb9d1ac854b7a44ff8 Mon Sep 17 00:00:00 2001 From: Vittorio Giovara Date: Tue, 7 Apr 2015 01:47:18 +0200 Subject: libx264: Make codec use the init-cleanup flag and mark it as init-thread-safe This takes care of memory leaks on init error. --- libavcodec/libx264.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 2caef1743f..841b824c8a 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -272,10 +272,12 @@ static av_cold int X264_close(AVCodecContext *avctx) X264Context *x4 = avctx->priv_data; av_freep(&avctx->extradata); - av_free(x4->sei); + av_freep(&x4->sei); - if (x4->enc) + if (x4->enc) { x264_encoder_close(x4->enc); + x4->enc = NULL; + } av_frame_free(&avctx->coded_frame); @@ -697,4 +699,6 @@ AVCodec ff_libx264_encoder = { .priv_class = &class, .defaults = x264_defaults, .init_static_data = X264_init_static, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | + FF_CODEC_CAP_INIT_CLEANUP, }; -- cgit v1.2.3