[FFmpeg-devel] [PATCH] avcodec/openh264: return (DE|EN)CODER_NOT_FOUND if version check fails
Martin Storsjö
martin at martin.st
Wed Apr 20 15:07:04 EEST 2022
On Fri, 18 Feb 2022, Andreas Schneider wrote:
> Signed-off-by: Andreas Schneider <asn at cryptomilk.org>
> ---
> libavcodec/libopenh264dec.c | 2 +-
> libavcodec/libopenh264enc.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
> index 7f5e85402a..97d3630df6 100644
> --- a/libavcodec/libopenh264dec.c
> +++ b/libavcodec/libopenh264dec.c
> @@ -56,7 +56,7 @@ static av_cold int svc_decode_init(AVCodecContext *avctx)
> WelsTraceCallback callback_function;
>
> if ((err = ff_libopenh264_check_version(avctx)) < 0)
> - return err;
> + return AVERROR_DECODER_NOT_FOUND;
>
> if (WelsCreateDecoder(&s->decoder)) {
> av_log(avctx, AV_LOG_ERROR, "Unable to create decoder\n");
> diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c
> index 7c0501a2eb..7649e7b025 100644
> --- a/libavcodec/libopenh264enc.c
> +++ b/libavcodec/libopenh264enc.c
> @@ -137,7 +137,7 @@ static av_cold int svc_encode_init(AVCodecContext *avctx)
> AVCPBProperties *props;
>
> if ((err = ff_libopenh264_check_version(avctx)) < 0)
> - return err;
> + return AVERROR_ENCODER_NOT_FOUND;
>
> if (WelsCreateSVCEncoder(&s->encoder)) {
> av_log(avctx, AV_LOG_ERROR, "Unable to create encoder\n");
> --
> 2.35.1
This looks reasonable to me, so I could push this in a little while if
there's no more comments on it.
But the patch lacks an explanation of _why_ this is done, in addition to
_what_ it does. I presume that's because the current error code makes some
decoder/encoder selection logic error out entirely, instead of continuing
trying some other codec - is that right? That would really be valuable to
include in the commit message.
// Martin
More information about the ffmpeg-devel
mailing list