v4l2loopback: new package
authorAlexandre Esse <alexandre.esse.dev@gmail.com>
Tue, 20 Jun 2017 19:11:38 +0000 (21:11 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 20 Jun 2017 19:25:39 +0000 (21:25 +0200)
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.

Signed-off-by: Alexandre Esse <alexandre.esse.dev@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
DEVELOPERS
package/Config.in
package/v4l2loopback/Config.in [new file with mode: 0644]
package/v4l2loopback/v4l2loopback.hash [new file with mode: 0644]
package/v4l2loopback/v4l2loopback.mk [new file with mode: 0644]

index afc45962c89103d128de05e4be8d178958e9c5f6..c9f355903b87a74e359b031f80e12f6b5f212e9f 100644 (file)
@@ -66,6 +66,7 @@ F:    package/tz/
 
 N:     Alexandre Esse <alexandre.esse.dev@gmail.com>
 F:     package/kvazaar/
+F:     package/v4l2loopback/
 
 N:     Alistair Francis <alistair.francis@xilinx.com>
 F:     package/xen/
index 9df0b42474268fcfc0eb653dfd33a01ade9ee7ca..db6c197734087fb1ab1bbac454befd3127f49253 100644 (file)
@@ -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 (file)
index 0000000..d8ca31e
--- /dev/null
@@ -0,0 +1,30 @@
+config BR2_PACKAGE_V4L2LOOPBACK
+       bool "v4l2loopback"
+       depends on BR2_LINUX_KERNEL
+       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.
+
+         https://github.com/umlaeute/v4l2loopback
+
+if BR2_PACKAGE_V4L2LOOPBACK
+
+config BR2_PACKAGE_V4L2LOOPBACK_UTILS
+       bool "utils"
+       depends on BR2_USE_MMU # bash
+       select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
+       select BR2_PACKAGE_BASH # runtime dependency
+       select BR2_PACKAGE_SUDO # runtime dependency
+       help
+         Install 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
+
+comment "v4l2loopback needs a Linux kernel to be built"
+       depends on !BR2_LINUX_KERNEL
diff --git a/package/v4l2loopback/v4l2loopback.hash b/package/v4l2loopback/v4l2loopback.hash
new file mode 100644 (file)
index 0000000..2b69fd7
--- /dev/null
@@ -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 (file)
index 0000000..669f8fc
--- /dev/null
@@ -0,0 +1,19 @@
+################################################################################
+#
+# v4l2loopback
+#
+################################################################################
+
+V4L2LOOPBACK_VERSION = v0.10.0
+V4L2LOOPBACK_SITE = $(call github,umlaeute,v4l2loopback,$(V4L2LOOPBACK_VERSION))
+V4L2LOOPBACK_LICENSE = GPL-2.0+
+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))