[FFmpeg-devel] [PATCH] fftools/opt_common: check the return value of av_hwdevice_get_type_name before printing it

James Almer jamrial at gmail.com
Wed Sep 14 15:58:34 EEST 2022


On 9/12/2022 10:02 AM, James Almer wrote:
> It may be NULL, as is the case for D3D11VA_VLD.
> 
> Running "ffmpeg -h decoder=h264" on a Windows build
> 
> Before:
> Decoder h264 [H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10]:
>      Supported hardware devices: dxva2 (null) d3d11va cuda
> 
> After:
> Decoder h264 [H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10]:
>      Supported hardware devices: dxva2 d3d11va cuda
> 
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>   fftools/opt_common.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/fftools/opt_common.c b/fftools/opt_common.c
> index 7cd8b1c66e..8a06df82df 100644
> --- a/fftools/opt_common.c
> +++ b/fftools/opt_common.c
> @@ -335,9 +335,12 @@ static void print_codec(const AVCodec *c)
>           printf("    Supported hardware devices: ");
>           for (int i = 0;; i++) {
>               const AVCodecHWConfig *config = avcodec_get_hw_config(c, i);
> +            const char *name;
>               if (!config)
>                   break;
> -            printf("%s ", av_hwdevice_get_type_name(config->device_type));
> +            name = av_hwdevice_get_type_name(config->device_type);
> +            if (name)
> +                printf("%s ", name);
>           }
>           printf("\n");
>       }

Applied.


More information about the ffmpeg-devel mailing list