ffmpeg | branch: master | Rostislav Pehlivanov <atomnu...@gmail.com> | Sat Jan 13 18:03:42 2018 +0000| [56e11ebf55a5e51a8a7131d382c2020e35d34f42] | committer: Rostislav Pehlivanov
dcaenc: cleanup on init failure and add a threadsafe init codec cap The encoder didn't clean up if a malloc failed during init. It also doesn't need any external tables to be initialized on init. Finally, it didn't need to check for whether avctx->priv_data exists during uninit. Signed-off-by: Rostislav Pehlivanov <atomnu...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=56e11ebf55a5e51a8a7131d382c2020e35d34f42 --- libavcodec/dcaenc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavcodec/dcaenc.c b/libavcodec/dcaenc.c index dd601ffae0..7ba2346ef1 100644 --- a/libavcodec/dcaenc.c +++ b/libavcodec/dcaenc.c @@ -295,11 +295,10 @@ static int encode_init(AVCodecContext *avctx) static av_cold int encode_close(AVCodecContext *avctx) { - if (avctx->priv_data) { - DCAEncContext *c = avctx->priv_data; - subband_bufer_free(c); - ff_dcaadpcm_free(&c->adpcm_ctx); - } + DCAEncContext *c = avctx->priv_data; + subband_bufer_free(c); + ff_dcaadpcm_free(&c->adpcm_ctx); + return 0; } @@ -1287,6 +1286,7 @@ AVCodec ff_dca_encoder = { .close = encode_close, .encode2 = encode_frame, .capabilities = AV_CODEC_CAP_EXPERIMENTAL, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE }, .supported_samplerates = sample_rates, _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog