An older recipe of v4l-utils (v1.26.1) is present in the meta-oe layer for scarthgap.
TI's 6.12 based kernel has backported multistream routing APIs from upstream kernel, which requires v4l-utils to be the latest released version (v1.28.1). Thus we override the recipe in this layer to the latest release of v4l-utils. Signed-off-by: Yemike Abhilash Chandra <[email protected]> --- Single camera setup logs: http://serenity.dal.design.ti.com:7777/ohidowecig.yaml Multi camera setup logs: http://serenity.dal.design.ti.com:7777/oqowimumeh.yaml ...l-media-ctl-header-and-library-files.patch | 78 +++++++++++++++++ ...add-support-for-RGBIr-bayer-formats.patch} | 0 .../v4l2apps/v4l-utils_%.bbappend | 7 -- .../v4l2apps/v4l-utils_1.28.1.bb | 86 +++++++++++++++++++ 4 files changed, 164 insertions(+), 7 deletions(-) create mode 100644 meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils/0001-media-ctl-Install-media-ctl-header-and-library-files.patch rename meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils/{0001-media-ctl-add-support-for-RGBIr-bayer-formats.patch => 0002-media-ctl-add-support-for-RGBIr-bayer-formats.patch} (100%) delete mode 100644 meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend create mode 100644 meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb diff --git a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils/0001-media-ctl-Install-media-ctl-header-and-library-files.patch b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils/0001-media-ctl-Install-media-ctl-header-and-library-files.patch new file mode 100644 index 00000000..6c946d8c --- /dev/null +++ b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils/0001-media-ctl-Install-media-ctl-header-and-library-files.patch @@ -0,0 +1,78 @@ +From 3867fcfa4389c7fa271705f1fd1d4bfb74bc1bd1 Mon Sep 17 00:00:00 2001 +From: Neel Gandhi <[email protected]> +Date: Wed, 5 Jun 2024 13:51:36 +0530 +Subject: [PATCH] media-ctl: Install media-ctl header and library files + +Install mediactl and v4l2subdev header and library +files, which may be required by 3rd party applications +to populate and control v4l2subdev device node tree + +Install of these files was removed in upstream commit +0911dce53b08b0df3066be2c75f67e8a314d8729. + +Upstream-Status: Denied + +v4l-utils maintainers do not promise a stable API for this library, and +do not currently have the time to do so. So exporting the API in this +way is fine, as long as we understand that it will change and users of +the API will need to adapt over time. + +Signed-off-by: Neel Gandhi <[email protected]> +Signed-off-by: Mark Hatle <[email protected]> +--- + utils/media-ctl/meson.build | 28 +++++++++++++++++++++------- + 1 file changed, 21 insertions(+), 7 deletions(-) + +diff --git a/utils/media-ctl/meson.build b/utils/media-ctl/meson.build +index 3a7b0c9a..40669b4c 100644 +--- a/utils/media-ctl/meson.build ++++ b/utils/media-ctl/meson.build +@@ -3,14 +3,24 @@ libmediactl_sources = files( + 'mediactl-priv.h', + ) + ++libmediactl_api = files( ++ 'mediactl.h', ++ 'v4l2subdev.h', ++) ++ ++install_headers(libmediactl_api, subdir: 'mediactl') ++ + libmediactl_deps = [ + dep_libudev, + ] + +-libmediactl = static_library('mediactl', +- libmediactl_sources, +- dependencies : libmediactl_deps, +- include_directories : v4l2_utils_incdir) ++libmediactl = library('mediactl', ++ libmediactl_sources, ++ soversion: '0', ++ version: '0.0.0', ++ install : true, ++ dependencies : libmediactl_deps, ++ include_directories : v4l2_utils_incdir) + + dep_libmediactl = declare_dependency(link_with : libmediactl) + +@@ -18,9 +28,13 @@ libv4l2subdev_sources = files('libv4l2subdev.c') + libv4l2subdev_sources += media_bus_format_names_h + libv4l2subdev_sources += media_bus_format_codes_h + +-libv4l2subdev = static_library('v4l2subdev', +- libv4l2subdev_sources, +- include_directories : v4l2_utils_incdir) ++libv4l2subdev = library('v4l2subdev', ++ libv4l2subdev_sources, ++ soversion: '0', ++ version: '0.0.0', ++ install : true, ++ dependencies : dep_libmediactl, ++ include_directories : v4l2_utils_incdir) + + dep_libv4l2subdev = declare_dependency(link_with : libv4l2subdev) + +-- +2.34.1 + diff --git a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils/0001-media-ctl-add-support-for-RGBIr-bayer-formats.patch b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils/0002-media-ctl-add-support-for-RGBIr-bayer-formats.patch similarity index 100% rename from meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils/0001-media-ctl-add-support-for-RGBIr-bayer-formats.patch rename to meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils/0002-media-ctl-add-support-for-RGBIr-bayer-formats.patch diff --git a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend deleted file mode 100644 index 9b74dc7c..00000000 --- a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend +++ /dev/null @@ -1,7 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - -SRC_URI:append = " \ - file://0001-media-ctl-add-support-for-RGBIr-bayer-formats.patch \ -" - -PR:append = ".arago0" diff --git a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb new file mode 100644 index 00000000..6f5707da --- /dev/null +++ b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb @@ -0,0 +1,86 @@ +SUMMARY = "v4l2 and IR applications" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \ + file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0" +PROVIDES = "libv4l media-ctl" + +DEPENDS = "jpeg \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ + ${@bb.utils.contains_any('PACKAGECONFIG', 'qv4l2 qvidcap', 'qtbase qtbase-native', '', d)}" + +DEPENDS:append:libc-musl = " argp-standalone" +DEPENDS:append:class-target = " udev" +LDFLAGS:append = " -pthread" +# v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to +# both 32 and 64 bit file APIs. But it does not handle the time side? +# Needs further investigation +GLIBC_64BIT_TIME_FLAGS = "" + +inherit meson gettext pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[qv4l2] = ",-Dqv4l2=disabled" +PACKAGECONFIG[qvidcap] = ",-Dqvidcap=disabled" +PACKAGECONFIG[v4l2-tracer] = ",-Dv4l2-tracer=disabled,json-c" + +SRC_URI = "\ + git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.28 \ + file://0001-media-ctl-Install-media-ctl-header-and-library-files.patch \ + file://0002-media-ctl-add-support-for-RGBIr-bayer-formats.patch \ +" + +SRCREV = "757acdaec187d51803c2957d36df3d717a3529da" + +PV .= "+git" + +S = "${WORKDIR}/git" + +EXTRA_OEMESON = "-Dudevdir=${base_libdir}/udev -Dv4l2-compliance-32=false -Dv4l2-ctl-32=false" + +# Disable the erroneous installation of gconv-modules that would break glib +# like it is done in Debian and ArchLinux. +EXTRA_OEMESON += "-Dgconv=disabled" + +VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps" + +PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap" + +RPROVIDES:${PN}-dbg += "libv4l-dbg" + +FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*" +FILES:qv4l2 = "\ + ${bindir}/qv4l2 \ + ${datadir}/applications/qv4l2.desktop \ + ${datadir}/icons/hicolor/*/apps/qv4l2.* \ +" +FILES:qvidcap = "\ + ${bindir}/qvidcap \ + ${datadir}/applications/qvidcap.desktop \ + ${datadir}/icons/hicolor/*/apps/qvidcap.* \ +" + +FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules" +RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}" +RDEPENDS:qv4l2 += "\ + ${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}" +RDEPENDS:qvidcap += "\ + ${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}" + +FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" + +FILES:${PN} = "${bindir} ${sbindir}" + +FILES:libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \ + ${libdir}/libdvbv5*${SOLIBS} \ + ${libdir}/libv4l/*-decomp \ + ${libdir}/libv4l2tracer.so \ +" + +FILES:libv4l-dev += "${includedir} ${libdir}/pkgconfig \ + ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \ + ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la" + +PARALLEL_MAKE:class-native = "" +BBCLASSEXTEND = "native" -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#15837): https://lists.yoctoproject.org/g/meta-arago/message/15837 Mute This Topic: https://lists.yoctoproject.org/mt/111121822/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
