[FFmpeg-devel] [PATCH] avcodec/mfenc: set frame size for audio encoders.

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sat Jun 18 09:49:37 EEST 2022


Gyan Doshi:
> Default avctx->frame_size is 0 which leads to init failure for
> audio MediaFoundation encoders.
> ---
>  libavcodec/mfenc.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/libavcodec/mfenc.c b/libavcodec/mfenc.c
> index 13ed7b3e11..ff9ffe4827 100644
> --- a/libavcodec/mfenc.c
> +++ b/libavcodec/mfenc.c
> @@ -1066,6 +1066,9 @@ static int mf_init_encoder(AVCodecContext *avctx)
>  
>      c->main_subtype = *subtype;
>  
> +    if (c->is_audio && !avctx->frame_size)
> +        avctx->frame_size = 1024;
> +
>      if ((ret = mf_create(avctx, &c->functions, &c->mft, avctx->codec, use_hw)) < 0)
>          return ret;
>  

1. You forgot to mention the ticket that this is supposed to fix; you
should also add that this a regression and the commit
(827d6fe73d2f5472c1c2128eb14fab6a4db29032) that supposedly introduced
the regression (if this is indeed true).
2. Where does this number come from (apart from the user-provided error
message)? How did it work before said commit?
(It seems that frame_size was unset before this commit, but did it
somehow just not matter?)

- Andreas


More information about the ffmpeg-devel mailing list