summaryrefslogtreecommitdiffstats
path: root/meta-multimedia
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2021-03-03 15:23:08 -0800
committerKhem Raj <raj.khem@gmail.com>2021-03-03 19:55:28 -0800
commit5593fac20fed30069baf369aba71dbfd355e08a7 (patch)
tree271dde98a674f18642876345f48b173197d41abc /meta-multimedia
parent57a7c1ed7d45b28cadd70d8fabda42fe906ddff7 (diff)
downloadmeta-openembedded-5593fac20fed30069baf369aba71dbfd355e08a7.tar.gz
libcamera: Update to latest
Add a fix for build with gcc11 Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Andreas Müller <schnitzeltony@gmail.com>
Diffstat (limited to 'meta-multimedia')
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera.bb7
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch38
2 files changed, 42 insertions, 3 deletions
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
index 5505626d3..b05df3210 100644
--- a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
@@ -10,15 +10,16 @@ LIC_FILES_CHKSUM = "\
10 10
11SRC_URI = " \ 11SRC_URI = " \
12 git://linuxtv.org/libcamera.git;protocol=git \ 12 git://linuxtv.org/libcamera.git;protocol=git \
13 file://0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch \
13" 14"
14 15
15SRCREV = "1e8c91b65695449c5246d17ba7dc439c8058b781" 16SRCREV = "f490a87fd339fc7443f5d8467ba56a35c750a5f7"
16 17
17PV = "202008+git${SRCPV}" 18PV = "202102+git${SRCPV}"
18 19
19S = "${WORKDIR}/git" 20S = "${WORKDIR}/git"
20 21
21DEPENDS = "python3-pyyaml-native udev gnutls boost chrpath-native" 22DEPENDS = "python3-pyyaml-native python3-jinja2-native python3-ply-native python3-jinja2-native udev gnutls boost chrpath-native"
22DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}" 23DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}"
23 24
24PACKAGES =+ "${PN}-gst" 25PACKAGES =+ "${PN}-gst"
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch
new file mode 100644
index 000000000..4ca412c69
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch
@@ -0,0 +1,38 @@
1From 767267ef69c001870d41caf9c60dd7fec89b0a13 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 3 Mar 2021 15:11:46 -0800
4Subject: [PATCH] uvcvideo: Use auto variable to avoid range loop warnings
5
6With c++17 loop range bases are defined where copy is obvious since
7iterator returns a copy and not reference, gcc11 will emit a warning
8about this
9
10uvcvideo.cpp:432:33: error: loop variable 'name' of type 'const string&' {aka 'const std::__cxx11::basic_string<cha
11r>&'} binds to a temporary constructed from type 'const char* const' [-Werror=range-loop-construct]
12| 432 | for (const std::string &name : { "idVendor", "idProduct" }) {
13| | ^~~~
14
15Therefore making it explicit is better
16
17Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2021-March/017966.html]
18Signed-off-by: Khem Raj <raj.khem@gmail.com>
19---
20 src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
24index 031f96e2..ef23ece7 100644
25--- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
26+++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
27@@ -429,7 +429,7 @@ std::string PipelineHandlerUVC::generateId(const UVCCameraData *data)
28
29 /* Creata a device ID from the USB devices vendor and product ID. */
30 std::string deviceId;
31- for (const std::string &name : { "idVendor", "idProduct" }) {
32+ for (const auto name : { "idVendor", "idProduct" }) {
33 std::ifstream file(path + "/../" + name);
34
35 if (!file.is_open())
36--
372.30.1
38