summaryrefslogtreecommitdiffstats
path: root/meta-multimedia
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2021-05-16 02:18:55 -0700
committerKhem Raj <raj.khem@gmail.com>2021-05-17 09:00:36 -0700
commit71dd824d25205117a3261345675fa6e58679e8d5 (patch)
treedd45fab056044f60f5d826395c90d2dacd049b37 /meta-multimedia
parent46bd112bc4ad3f07875673e2892c0c154ce73d8f (diff)
downloadmeta-openembedded-71dd824d25205117a3261345675fa6e58679e8d5.tar.gz
libcamera: Update to latest master tip
Drop upstreamed patch jinja2.Environment.compile_templates no longer accepts py_compile argument so delete it Fixes TypeError: compile_templates() got an unexpected keyword argument 'py_compile' 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.bb9
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch117
2 files changed, 6 insertions, 120 deletions
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
index b05df32102..30dab1d928 100644
--- a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
@@ -10,12 +10,11 @@ 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 \
14" 13"
15 14
16SRCREV = "f490a87fd339fc7443f5d8467ba56a35c750a5f7" 15SRCREV = "193ca8c353a42334f65ddfc988a105a47bca3547"
17 16
18PV = "202102+git${SRCPV}" 17PV = "202105+git${SRCPV}"
19 18
20S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
21 20
@@ -31,6 +30,10 @@ RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayla
31 30
32inherit meson pkgconfig python3native 31inherit meson pkgconfig python3native
33 32
33do_configure_prepend() {
34 sed -i -e 's|py_compile=True,||' ${S}/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
35}
36
34do_install_append() { 37do_install_append() {
35 chrpath -d ${D}${libdir}/libcamera.so 38 chrpath -d ${D}${libdir}/libcamera.so
36} 39}
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
deleted file mode 100644
index cec5fc2872..0000000000
--- a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch
+++ /dev/null
@@ -1,117 +0,0 @@
1Delivered-To: raj.khem@gmail.com
2Received: by 2002:a05:620a:20d3:0:0:0:0 with SMTP id f19csp2716715qka;
3 Sat, 27 Mar 2021 19:58:30 -0700 (PDT)
4X-Google-Smtp-Source: ABdhPJwyDnjZqZmFqHVShb/5/RoVkJ4Avv5bcnyuo85vIRR2vJDQF+QBZpQpEWHgx5GuEuwLVSC+
5X-Received: by 2002:a05:6512:22d0:: with SMTP id g16mr12125441lfu.650.1616900310724;
6 Sat, 27 Mar 2021 19:58:30 -0700 (PDT)
7ARC-Seal: i=1; a=rsa-sha256; t=1616900310; cv=none;
8 d=google.com; s=arc-20160816;
9 b=bZlu68tossyE2YcGkt0HzIhqTUroWDT/EgJvAiQBgZ6bPzMJ+wjwWp3LzViqOxiRPQ
10 r0cFyme7CJ9YRf2TLmpjGuv2RPQ+EkrtFdlB7i65nhDrwvBoxt78vF2tUoDgVLL1YrU9
11 wKgHPtBjtDcDveOXKQJH2j5HRwiBjCXlPRBhlSxV8kJPBj//dRaKm0MsxfiW/IgyN1tZ
12 FFxfe4Lk1Awm8ZKAklhdKMly3MFA6IbnjwNcN/84a0R/0+PLu9X8XIR6+CnrfqSgWOBx
13 zsV8p3HuVQTpX7Hhnkiz7PYudHsJJ/7KXeXTP6s9NNnZGu9A6U/E6VOob5BSm9DDIA5z
14 4AnA==
15ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
16 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
17 :to:from:dkim-signature;
18 bh=fbAn+wsNks5BGTY34H4T90NDFJaNV4nnt9vc9DBFaWQ=;
19 b=mLZNiQR/CdgcVTAc7OQmK0ZYTVpofG/EOqTIi2NYIYFhanWhatYY9Hx2xwxIp6kQ5R
20 n0uXh5tLth6aPYD09z3YcXYasEIszBKwoNUFjRA85lFm3d5/J2S1wC5rBy25QeCDOg57
21 QdzYrTBX2QGRHGQKauEnX5FLDTT+I53sPa87TyvxUKBS+lTAbJig70KfmL7FJIEWT1ZI
22 CZKCErYFlQTGNnwM0CYVXyHv54D2tA25veHQIJN8KK+XObNWuAY3rYpqKoUpOP4vpSPi
23 MXJWAV4L6NZEShWvwJiC4Zdy2xFzXASX27CAKIsX6T5Rub03grVTg6WVt9bChK1x5jeg
24 A2Yw==
25ARC-Authentication-Results: i=1; mx.google.com;
26 dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=MniKswyT;
27 spf=pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) smtp.mailfrom=laurent.pinchart@ideasonboard.com
28Return-Path: <laurent.pinchart@ideasonboard.com>
29Received: from perceval.ideasonboard.com (perceval.ideasonboard.com. [213.167.242.64])
30 by mx.google.com with ESMTPS id v18si12339470ljj.208.2021.03.27.19.58.30
31 for <raj.khem@gmail.com>
32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
33 Sat, 27 Mar 2021 19:58:30 -0700 (PDT)
34Received-SPF: pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) client-ip=213.167.242.64;
35Authentication-Results: mx.google.com;
36 dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=MniKswyT;
37 spf=pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) smtp.mailfrom=laurent.pinchart@ideasonboard.com
38Received: from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57])
39 by perceval.ideasonboard.com (Postfix) with ESMTPSA id 11F12332;
40 Sun, 28 Mar 2021 04:58:28 +0200 (CEST)
41DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;
42 s=mail; t=1616900309;
43 bh=BwCg4h9N9fJysbMT1Yjbazbp7zTImD9mkWJSjCKzCmg=;
44 h=From:To:Cc:Subject:Date:From;
45 b=MniKswyT+aUtPgeMFeLqW6cRMFsPRN4W1XtVDA6pqI0QTSSx5koEuzSfEybjs6Qbp
46 ZdQar1r5nBIRCg9uq85YoLKoFeT7WN4PrwnRYPwaYGAFHfV44rDrq4RBe3VOIb+85W
47 tKn4HEzjlFelrImVbeymBsgpVhITveSVH1MdYRsE=
48From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
49To: libcamera-devel@lists.libcamera.org
50Cc: Khem Raj <raj.khem@gmail.com>
51Subject: [PATCH v2] libcamera: pipeline: uvcvideo: Avoid reference to temporary object
52Date: Sun, 28 Mar 2021 05:57:41 +0300
53Message-Id: <20210328025741.30246-1-laurent.pinchart@ideasonboard.com>
54X-Mailer: git-send-email 2.28.1
55MIME-Version: 1.0
56Content-Transfer-Encoding: 8bit
57
58From: Khem Raj <raj.khem@gmail.com>
59
60A range-based for loop whose range expression is an array of char
61pointers and range variable declaration is a const reference to a
62std::string creates a temporary string from the char pointer and binds
63the range variable reference to it. This creates a const reference to a
64temporary, which is valid in C++, and extends the lifetime of the
65temporary to the lifetime of the reference.
66
67However, lifetime extension in range-based for loops is considered as a
68sign of a potential issue, as a temporary is created for every
69iteration, which can be costly, and the usage of a reference in the
70range declaration doesn't make it obvious that the code isn't simply
71binding a reference to an existing object. gcc 11, with the
72-Wrange-loop-construct option, flags this:
73
74uvcvideo.cpp:432:33: error: loop variable 'name' of type 'const string&' {aka 'const std::__cxx11::basic_string<cha
75r>&'} binds to a temporary constructed from type 'const char* const' [-Werror=range-loop-construct]
76| 432 | for (const std::string &name : { "idVendor", "idProduct" }) {
77| | ^~~~
78
79To please the compiler, make the range variable a const char *. This may
80bring a tiny performance improvement, as the name is only used once, in
81a location where the compiler can use
82
83 operator+(const std::string &, const char *)
84
85instead of
86
87 operator+(const std::string &, const std::string &)
88
89Signed-off-by: Khem Raj <raj.khem@gmail.com>
90Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
91
92Use a const char * type instead of auto, and update the commit message
93accordingly.
94
95Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
96---
97 src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 2 +-
98 1 file changed, 1 insertion(+), 1 deletion(-)
99
100diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
101index 031f96e28449..b6c6ade5ebaf 100644
102--- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
103+++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
104@@ -429,7 +429,7 @@ std::string PipelineHandlerUVC::generateId(const UVCCameraData *data)
105
106 /* Creata a device ID from the USB devices vendor and product ID. */
107 std::string deviceId;
108- for (const std::string &name : { "idVendor", "idProduct" }) {
109+ for (const char *name : { "idVendor", "idProduct" }) {
110 std::ifstream file(path + "/../" + name);
111
112 if (!file.is_open())
113--
114Regards,
115
116Laurent Pinchart
117