[FFmpeg-devel] [PATCH 20/35] avdevice/avdevice: clean up avdevice_capabilities_create

Nicolas George george at nsup.org
Tue Jun 8 15:09:23 EEST 2021


Diederick Niehorster (12021-06-08):
> Draw implementation in line with that of avdevice_list_devices
> 
> Signed-off-by: Diederick Niehorster <dcnieho at gmail.com>
> ---
>  libavdevice/avdevice.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/libavdevice/avdevice.c b/libavdevice/avdevice.c
> index 695b9143af..d73d36e1dd 100644
> --- a/libavdevice/avdevice.c
> +++ b/libavdevice/avdevice.c
> @@ -100,12 +100,15 @@ int avdevice_capabilities_create(AVDeviceCapabilitiesQuery **caps, AVFormatConte
>                                   AVDictionary **device_options)
>  {
>      int ret;
> -    av_assert0(s && caps);
> +    av_assert0(s);
> +    av_assert0(caps);
>      av_assert0(s->iformat || s->oformat);
>      if ((s->oformat && !s->oformat->create_device_capabilities) ||
> -        (s->iformat && !s->iformat->create_device_capabilities))
> +        (s->iformat && !s->iformat->create_device_capabilities)) {
> +        *caps = NULL;
>          return AVERROR(ENOSYS);
> -    *caps = av_mallocz(sizeof(**caps));
> +    }

> +    *caps = av_mallocz(sizeof(AVDeviceCapabilitiesQuery));

var = malloc(sizeof(*var)) is preferred over var = malloc(type), because
if you change the type of var, it happens in another part of the code
and you would have to remember to change it here too.

>      if (!(*caps))
>          return AVERROR(ENOMEM);
>      (*caps)->device_context = s;

Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20210608/a803242e/attachment.sig>


More information about the ffmpeg-devel mailing list