[libav-devel] [PATCH v3 2/3] avfoundation: basic working implementation

Luca Barbato lu_zero at gentoo.org
Tue Nov 24 01:55:03 CET 2015


On 23/11/15 23:08, Alexandre Lision wrote:
> This commit adds basic support for video devices under OSX.
> Device is opened based on currently active format, and first pixel format
> available.
> ---
>  configure                      |   7 +
>  libavdevice/Makefile           |   1 +
>  libavdevice/alldevices.c       |   1 +
>  libavdevice/avfoundation_dec.m | 521 +++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 530 insertions(+)
>  create mode 100644 libavdevice/avfoundation_dec.m
> 
> diff --git a/configure b/configure
> index 1aaf9ef..e371e54 100755
> --- a/configure
> +++ b/configure
> @@ -1453,6 +1453,7 @@ HAVE_LIST_PUB="
>  "
>  
>  HEADERS_LIST="
> +    AVFoundation_AVFoundation_h
>      alsa_asoundlib_h
>      altivec_h
>      arpa_inet_h
> @@ -2264,6 +2265,7 @@ xwma_demuxer_select="riffdec"
>  # indevs / outdevs
>  alsa_indev_deps="alsa_asoundlib_h snd_pcm_htimestamp"
>  alsa_outdev_deps="alsa_asoundlib_h"
> +avfoundation_indev_deps="AVFoundation_AVFoundation_h"
>  bktr_indev_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h"
>  dv1394_indev_deps="dv1394"
>  dv1394_indev_select="dv_demuxer"
> @@ -4557,6 +4559,11 @@ check_header linux/fb.h
>  check_header linux/videodev2.h
>  check_struct linux/videodev2.h "struct v4l2_frmivalenum" discrete
>  
> +check_header AVFoundation/AVFoundation.h &&
> +    check_objcflags -fobjc-arc &&
> +    add_extralibs -framework Foundation -framework AVFoundation -framework CoreMedia || \
> +    disable AVFoundation_AVFoundation_h
> +
>  check_header sys/videoio.h
>  
>  check_func_headers "windows.h vfw.h" capCreateCaptureWindow "$vfwcap_indev_extralibs"
> diff --git a/libavdevice/Makefile b/libavdevice/Makefile
> index dfd56be..40c5260 100644
> --- a/libavdevice/Makefile
> +++ b/libavdevice/Makefile
> @@ -9,6 +9,7 @@ OBJS    = alldevices.o                                                  \
>  # input/output devices
>  OBJS-$(CONFIG_ALSA_INDEV)                += alsa_dec.o alsa.o
>  OBJS-$(CONFIG_ALSA_OUTDEV)               += alsa_enc.o alsa.o
> +OBJS-$(CONFIG_AVFOUNDATION_INDEV)	 += avfoundation_dec.o

I'll address this nit and other myself when squashing this and the next one.

Thanks a lot.

lu


More information about the libav-devel mailing list