ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinha...@outlook.com> | Tue Feb 8 12:02:41 2022 +0100| [71bd076b30d9975aebc33724d00095787b9da7d8] | committer: Andreas Rheinhardt
avcodec/vorbisenc: Cleanup generically on init-failure Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=71bd076b30d9975aebc33724d00095787b9da7d8 --- libavcodec/vorbisenc.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libavcodec/vorbisenc.c b/libavcodec/vorbisenc.c index 858c6ac6dd..d9c6f6d494 100644 --- a/libavcodec/vorbisenc.c +++ b/libavcodec/vorbisenc.c @@ -1273,7 +1273,7 @@ static av_cold int vorbis_encode_init(AVCodecContext *avctx) } if ((ret = create_vorbis_context(venc, avctx)) < 0) - goto error; + return ret; avctx->bit_rate = 0; if (avctx->flags & AV_CODEC_FLAG_QSCALE) @@ -1283,7 +1283,7 @@ static av_cold int vorbis_encode_init(AVCodecContext *avctx) venc->quality *= venc->quality; if ((ret = put_main_header(venc, (uint8_t**)&avctx->extradata)) < 0) - goto error; + return ret; avctx->extradata_size = ret; avctx->frame_size = 64; @@ -1292,9 +1292,6 @@ static av_cold int vorbis_encode_init(AVCodecContext *avctx) ff_af_queue_init(avctx, &venc->afq); return 0; -error: - vorbis_encode_close(avctx); - return ret; } const AVCodec ff_vorbis_encoder = { @@ -1309,5 +1306,5 @@ const AVCodec ff_vorbis_encoder = { .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_EXPERIMENTAL, .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, }; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".