[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