Diederick Niehorster:
> An avdevice, regardless of whether its category says its an audio or
> video device, may provide access to devices providing different media
> types, or even single devices providing multiple media types. Also, some
> devices may provide no media types. dshow is an example encompassing all
> of these cases. Users should be provided with this information, so
> AVDeviceInfo is extended to provide it.
> 
> Bump avdevice version
> 
> Signed-off-by: Diederick Niehorster <dcni...@gmail.com>
> ---
>  libavdevice/avdevice.c | 2 ++
>  libavdevice/avdevice.h | 2 ++
>  libavdevice/version.h  | 2 +-
>  3 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/libavdevice/avdevice.c b/libavdevice/avdevice.c
> index 2ae26ab8e3..712ef1e80c 100644
> --- a/libavdevice/avdevice.c
> +++ b/libavdevice/avdevice.c
> @@ -157,6 +157,8 @@ void avdevice_free_list_devices(AVDeviceInfoList 
> **device_list)
>          if (dev) {
>              av_freep(&dev->device_name);
>              av_freep(&dev->device_description);
> +            if (dev->media_types)
> +                av_freep(&dev->media_types);

av_freep() can handle the case of dev->media_types == NULL just fine, so
the check can be removed (yes, this might be a tiny bit slower in case
dev->media_types is NULL, but this is not hot code).

>              av_free(dev);
>          }
>      }
> diff --git a/libavdevice/avdevice.h b/libavdevice/avdevice.h
> index 8370bbc7f2..6f24976dcc 100644
> --- a/libavdevice/avdevice.h
> +++ b/libavdevice/avdevice.h
> @@ -457,6 +457,8 @@ void avdevice_capabilities_free(AVDeviceCapabilitiesQuery 
> **caps, AVFormatContex
>  typedef struct AVDeviceInfo {
>      char *device_name;                   /**< device name, format depends on 
> device */
>      char *device_description;            /**< human friendly name */
> +    enum AVMediaType *media_types;       /**< array indicating what media 
> types(s), if any, a device can provide. If null, cannot provide any */
> +    int nb_media_types;                  /**< length of media_types array, 0 
> if device cannot provide any media types */

Personally, I'd prefer it if this were unsigned given that negative
values don't make sense. But this is just a personal preference.

>  } AVDeviceInfo;
>  
>  /**
> diff --git a/libavdevice/version.h b/libavdevice/version.h
> index 914e156ec7..c549768e12 100644
> --- a/libavdevice/version.h
> +++ b/libavdevice/version.h
> @@ -28,7 +28,7 @@
>  #include "libavutil/version.h"
>  
>  #define LIBAVDEVICE_VERSION_MAJOR  59
> -#define LIBAVDEVICE_VERSION_MINOR   0
> +#define LIBAVDEVICE_VERSION_MINOR   1
>  #define LIBAVDEVICE_VERSION_MICRO 101

MICRO should be reset if MINOR is bumped.

>  
>  #define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \
> 

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to