[FFmpeg-devel] [PATCH 07/13] avcodec/roqvideoenc: Cleanup generically after init failure
Paul B Mahol
onemda at gmail.com
Sat Aug 29 23:38:41 EEST 2020
On 8/29/20, Andreas Rheinhardt <andreas.rheinhardt at gmail.com> wrote:
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> ---
> libavcodec/roqvideoenc.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
LGTM
> diff --git a/libavcodec/roqvideoenc.c b/libavcodec/roqvideoenc.c
> index ac05123dc6..dc6a63099d 100644
> --- a/libavcodec/roqvideoenc.c
> +++ b/libavcodec/roqvideoenc.c
> @@ -1004,10 +1004,8 @@ static av_cold int roq_encode_init(AVCodecContext
> *avctx)
>
> enc->last_frame = av_frame_alloc();
> enc->current_frame = av_frame_alloc();
> - if (!enc->last_frame || !enc->current_frame) {
> - roq_encode_end(avctx);
> + if (!enc->last_frame || !enc->current_frame)
> return AVERROR(ENOMEM);
> - }
>
> enc->tmpData = av_malloc(sizeof(RoqTempdata));
>
> @@ -1024,10 +1022,8 @@ static av_cold int roq_encode_init(AVCodecContext
> *avctx)
> av_malloc_array ((enc->width*enc->height/64), sizeof(motion_vect));
>
> if (!enc->tmpData || !enc->this_motion4 || !enc->last_motion4 ||
> - !enc->this_motion8 || !enc->last_motion8) {
> - roq_encode_end(avctx);
> + !enc->this_motion8 || !enc->last_motion8)
> return AVERROR(ENOMEM);
> - }
>
> return 0;
> }
> @@ -1135,4 +1131,5 @@ AVCodec ff_roq_encoder = {
> .pix_fmts = (const enum AVPixelFormat[]){
> AV_PIX_FMT_YUVJ444P,
> AV_PIX_FMT_NONE },
> .priv_class = &roq_class,
> + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
> };
> --
> 2.20.1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list