[FFmpeg-devel] [PATCH 2/2] fftools/ffmpeg_enc: assert frame->format isn't NONE before use

Anton Khirnov anton at khirnov.net
Mon Dec 18 13:21:46 EET 2023


Quoting Zhao Zhili (2023-12-17 12:01:09)
> From: Zhao Zhili <zhilizhao at tencent.com>
> 
> Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>
> ---
>  fftools/ffmpeg_enc.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c
> index 9141dab6a4..ac38e8db75 100644
> --- a/fftools/ffmpeg_enc.c
> +++ b/fftools/ffmpeg_enc.c
> @@ -206,6 +206,7 @@ int enc_open(void *opaque, const AVFrame *frame)
>  
>      switch (enc_ctx->codec_type) {
>      case AVMEDIA_TYPE_AUDIO:
> +        av_assert0(frame->format != AV_SAMPLE_FMT_NONE);
>          enc_ctx->sample_fmt     = frame->format;
>          enc_ctx->sample_rate    = frame->sample_rate;
>          ret = av_channel_layout_copy(&enc_ctx->ch_layout, &frame->ch_layout);
> @@ -227,6 +228,7 @@ int enc_open(void *opaque, const AVFrame *frame)
>              av_mul_q(ost->frame_aspect_ratio, (AVRational){ enc_ctx->height, enc_ctx->width }) :
>              frame->sample_aspect_ratio;
>  
> +        av_assert0(frame->format != AV_PIX_FMT_NONE);

I'd prefer if you did this at the top of the block, right after case.
Can also check dimensions for video and sample rate/channel layout for
audio.

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list