[Buildroot] [PATCH 1/1] v4l2loopback: new package
Yann E. MORIN
yann.morin.1998 at free.fr
Tue Jun 20 16:00:37 UTC 2017
Alexandre, All,
On 2017-06-19 22:51 +0200, Alexandre Esse spake thusly:
> This package provides a kernel module and utilities in order to use
> v4l2loopback virtual devices.
> This module allows you to create "virtual video devices" normal (v4l2)
> applications will read these devices as if they were ordinary video
> devices, but the video will not be read from e.g. a capture card but
> instead it is generated by another application.
Thank you for this contribution, it is very much interesting! :-)
See some comments below...
> Signed-off-by: Alexandre Esse <alexandre.esse.dev at gmail.com>
> ---
> DEVELOPERS | 1 +
> package/Config.in | 1 +
> package/v4l2loopback/Config.in | 23 +++++++++++++++++++++++
> package/v4l2loopback/v4l2loopback.hash | 2 ++
> package/v4l2loopback/v4l2loopback.mk | 19 +++++++++++++++++++
> 5 files changed, 46 insertions(+)
> create mode 100644 package/v4l2loopback/Config.in
> create mode 100644 package/v4l2loopback/v4l2loopback.hash
> create mode 100644 package/v4l2loopback/v4l2loopback.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index afc4596..c9f3559 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -66,6 +66,7 @@ F: package/tz/
>
> N: Alexandre Esse <alexandre.esse.dev at gmail.com>
> F: package/kvazaar/
> +F: package/v4l2loopback/
>
> N: Alistair Francis <alistair.francis at xilinx.com>
> F: package/xen/
> diff --git a/package/Config.in b/package/Config.in
> index 9df0b42..db6c197 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -49,6 +49,7 @@ menu "Audio and video applications"
> source "package/udpxy/Config.in"
> source "package/upmpdcli/Config.in"
> source "package/v4l2grab/Config.in"
> + source "package/v4l2loopback/Config.in"
> source "package/vlc/Config.in"
> source "package/vorbis-tools/Config.in"
> source "package/wavpack/Config.in"
> diff --git a/package/v4l2loopback/Config.in b/package/v4l2loopback/Config.in
> new file mode 100644
> index 0000000..157bd20
> --- /dev/null
> +++ b/package/v4l2loopback/Config.in
> @@ -0,0 +1,23 @@
> +config BR2_PACKAGE_V4L2LOOPBACK
> + bool "v4l2loopback"
> + help
> + This module allows you to create "virtual video devices".
> + Normal (v4l2) applications will read these devices as if they
> + were ordinary video devices, but the video will not be read
> + from e.g. a capture card but instead it is generated by
> + another application.
So if I understand correctly, this is a kernel module, so you need to
depend on a kernel being built:
depends on BR2_LINUX_KERNEL
> +if BR2_PACKAGE_V4L2LOOPBACK
> +
> +config BR2_PACKAGE_V4L2LOOPBACK_UTILS
> + bool "v4l2loopback-utils"
> + select BR2_PACKAGE_BASH #runtine dependency
> + select BR2_PACKAGE_SUDO #runtime dependency
Spurious two-space after tab.
Besides, you can not select bash like that, because bash has
dependencies, so you need to propagate those dependencies:
depends on BR2_USE_MMU # bash
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
select BR2_PACKAGE_BASH
See e.g. package/tovid/Config.in.
So, because it has requirements, you need to add a comment stating why
it may not be available:
config BR2_PACKAGE_V4L2LOOPBACK
bool "v4l2loopback"
depends on BR2_LINUX_KERNEL
help
blablabla
if BR2_PACKAGE_V4L2LOOPBACK
config BR2_PACKAGE_V4L2LOOPBACK_UTILS
bool "v4l2loopback-utils"
depends on BR2_USE_MMU # bash
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
select BR2_PACKAGE_BASH
endif
comment "v4l2loopback needs a Linux kernel to be built"
depends on !BR2_LINUX_KERNEL
> + help
> + This package contains applications to interact with
> + v4l2-loopback devices ("virtual video devices").
> + Currently there is only a single command line utility:
> + v4l2loopback-ctl: tool to set framerate, format and timeout
> + image.
> +
> +endif
> diff --git a/package/v4l2loopback/v4l2loopback.hash b/package/v4l2loopback/v4l2loopback.hash
> new file mode 100644
> index 0000000..2b69fd7
> --- /dev/null
> +++ b/package/v4l2loopback/v4l2loopback.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated
> +sha256 9bb1e8d544019bead20813877415ae974fbc22f87c69772984a4abac433f36dd v4l2loopback-v0.10.0.tar.gz
> diff --git a/package/v4l2loopback/v4l2loopback.mk b/package/v4l2loopback/v4l2loopback.mk
> new file mode 100644
> index 0000000..2dec9c4
> --- /dev/null
> +++ b/package/v4l2loopback/v4l2loopback.mk
> @@ -0,0 +1,19 @@
> +################################################################################
> +#
> +# v4l2loopback
> +#
> +################################################################################
> +
> +V4L2LOOPBACK_VERSION = v0.10.0
> +V4L2LOOPBACK_SITE = $(call github,umlaeute,v4l2loopback,$(V4L2LOOPBACK_VERSION))
> +V4L2LOOPBACK_LICENSE = GPL-2.0
It is "version 2 of the License, or (at your option) any later version",
so: GPL-2.0+
Regards,
Yann E. MORIN.
> +V4L2LOOPBACK_LICENSE_FILES = COPYING
> +
> +ifeq ($(BR2_PACKAGE_V4L2LOOPBACK_UTILS),y)
> +define V4L2LOOPBACK_INSTALL_TARGET_CMDS
> + $(INSTALL) -D -m 0755 $(@D)/utils/v4l2loopback-ctl $(TARGET_DIR)/usr/bin/v4l2loopback-ctl
> +endef
> +endif
> +
> +$(eval $(kernel-module))
> +$(eval $(generic-package))
> --
> 2.7.4
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list