summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2021-06-02 22:40:56 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2021-06-07 18:15:22 +0300
commitb95905d1c8bee73bd53457a1895e33c119eb9680 (patch)
treebaa3c493eee900fb00809a13eadd762566fc0d23 /meta-openembedded/meta-multimedia/recipes-multimedia/libcamera
parentac69b488c6ecf0e6df8321218006f23211c45e46 (diff)
downloadopenbmc-b95905d1c8bee73bd53457a1895e33c119eb9680.tar.xz
meta-openembedded: subtree update:4fe1065655..2449e5f07a
Alexander Kanavin (1): remmina: make avahi support optional and off by default Alexander Vickberg (1): hostapd: fix building with CONFIG_TLS=internal Andreas Müller (63): mariadb: Fix configure evolution-data-server: Backport upstream patch to fix configure on latest CMake libgtop: tidy up recipe xfce4-systemload-plugin: upgrade 1.3.0 -> 1.3.1 / introduce PACKAGECONFIGs xfce4-clipman-plugin: upgrade 1.6.1 -> 1.6.2 xfce4-panel: upgrade 4.16.2 -> 4.16.3 fluidsynth: upgrade 2.2.0 -> 2.2.1 gparted: upgrade 1.2.0 -> 1.3.0 poppler: upgrade 21.04.0 -> 21.05.0 tracker: upgrade 2.3.6 -> 3.0.4 tracker-miners: upgrade 2.3.5 -> 3.0.5 nautilus: upgrade 3.36.3 -> 40.1 gnome-photos: upgrade 3.34.2 -> 40.0 file-roller: upgrade 3.36.3 -> 3.38.1 tepl: upgrade 4.4.0 -> 6.00.0 gedit: upgrade 3.36.2 -> 40.1 evince: upgrade 3.38.0 -> 40.1 gnome-calculator: upgrade 3.36.0 -> 40.1 gnome-system-monitor: upgrade 3.36.1 -> 40.1 dconf-editor: upgrade 3.38.2 -> 3.38.3 libwnck3: upgrade 3.36.0 -> 40.0 babl: upgrade 0.1.84 -> 0.1.86 gimp: upgrade 2.10.22 -> 2.10.24 gegl: add PACKAGECONFIG libraw and enable it by default gegl: add poppler PCAKAGECONFIG and enable it by default Revert "gimp: Disable svg icons on arm" grilo-plugins: initial add 0.3.13 gnome-photos: rrecommend grilo-plugins gnome-photos: Let all desktops add gnome-photos to their start menu meta-gnome: remove upstream-version-is-even from inherit on 40.x version recipes portaudio-v19: upgrade 19.6.0 -> 19.7.0 mousepad: upgrade 0.5.4 -> 0.5.5 network-manager-applet: upgrade 1.18.0 -> 1.22.0 nano: upgrade 5.6 -> 5.7 gnuplot: upgrade 5.2.8 -> 5.4.1 zsh: upgrade 5.4.2 -> 5.8 ttf-lohit: upgrade 2 -> 2.92.1 xrdp: upgrade 0.9.15 -> 0.9.16 snappy: upgrade 1.1.8 -> 1.1.9 redis: upgrade 6.2.2 -> 6.2.3 remmina: upgrade 1.4.11 -> 1.4.17 libpeas: upgrade 1.26.0 -> 1.30.0 modemmanager: upgrade 1.16.2 -> 1.16.4 mm-common: upgrade 1.0.2 -> 1.0.3 protobuf: upgrade 3.15.2 -> 3.17.0 qpdf: upgrade 10.2.0 -> 10.3.2 libmxml: upgrade 3.1 -> 3.2 libgusb: upgrade 0.3.5 -> 0.3.6 libeigen: upgrade 3.3.7 -> 3.3.9 giflib: upgrade 5.1.4 -> 5.2.1 fltk: upgrade 1.3.5 -> 1.3.6 botan: upgrade 2.14.0 -> 2.18.1 dialog: upgrade 1.3-20210319 -> 1.3-20210509 colord: upgrade 1.4.4 -> 1.4.5 flatbuffers: upgrade 1.12.0 -> 2.0.0 gtkwave: upgrade 3.3.108 -> 3.3.109 / move to gtk3 / tidy up recipe hwdata: upgrade 0.346 -> 0.347 mime-support: upgrade 3.48 -> 3.62 mpv: upgrade 0.32.0 -> 0.33.1 renderdoc: upgrade 1.7 -> 1.13 xfce4-screenshooter: upgrade 1.9.8 -> 1.9.9 hunspell-dictionaries: use better names for dictionary files gupnp: upgrade 1.2.4 -> 1.2.6 Andrej Kozemcak (1): squid: upgrade 4.14 -> 4.15 Armin Kuster (6): audit: migrate from meta-selinux packagegroup-meta-oe: add audit to pkg grp python3-scapy: move from meta-security python3-scapy: add pkg to pkg grp python3-scapy: drop from pkg grp python3-scapy: drop this recipe Ayoub Zaki (1): evemu-tools: Add initial recipe Bartosz Golaszewski (3): python3-pycocotools: new package python3-pydbus-manager: add runtime dependencies python3-asyncio-glib: new package Bruce Mitchell (1): makedumpfile: Bump srcrev Changqing Li (3): python3-paho-mqtt: add package python3-paho-mqtt-examples nmap: change shebang to python3 libgtop: fix do_compile error Chen Qi (1): mutter: add polkit to REQUIRED_DISTRO_FEATRUES Daniel Ammann (1): nyancat: add new package Gianfranco (1): vboxguestdrivers: upgrade 6.1.20 -> 6.1.22 Guy Morand (1): qperf: add qperf recipe Hongxu Jia (1): cdrkit: add nativesdk support Kai Kang (1): thunar: 4.16.6 -> 4.16.8 Khem Raj (47): liburing: Upgrade to 2.0 catch2: Upgrade to 2.13.6 mongodb: Update to 4.4.6-rc0 icewm: Upgrade to 2.3.3 python3-m2crypto: Pass correct ABI defines to swig python3-lazy-object-proxy: Add missing dep on pip python3-markdown: Remove sdbus-c++-libsystemd: Avoid hard dependency on rsync libmusicbrainz: Rework native and target pieces abseil-cpp: Upgrade to lts_2021_03_24 grpc: Upgrade to 1.37.1 minicoredumper: Replace pthread_mutexattr_setrobust_np with pthread_mutexattr_setrobust libupnp: Do not use _np versions of mutex APIs mariadb: Upgrade to 10.5.10 apitrace: Upgrade to 0.10 evolution-data-server: Update to 3.40.1 mongodb: Do not use MINSIGSTKSZ tbb: Fix build with GCC 11 breakpad: Fix type mismatch for SIGSTKSZ packagegroup-meta-networking.bb: Add http-parser to packagegroup-meta-networking-support nautilus: Exclude from builds python3-m2crypto: Fix build on riscv and mips googletest: Update to tip of trunk libraw: Move from meta-qt5-extra to meta-oe Revert "nautilus: Exclude from builds" libcamera: Update to latest master tip python3-haversine: Fix build with latest python/setuptools opencv: Disable tbb on riscv/musl rdma-core: Upgrade to 35.0 wireshark: Add zstd via packageconfig dhcp-relay: Use recent config.guess and config.sub for bind projucer: Update to latest master tip opencv: Do not lock to gcc only compiler minifi-cpp: Fix build with llvm C++ runtime sdbus-cpp: Do not fetch googletest on the fly python3-grpcio: Update to 1.38.0 heaptrack: Fix build with clang and llvm libunwind grpc: Upgrade to 1.38.0 packagegroup-meta-oe: Add qperf package dovecot: Fix build with llvm libunwind mpich: Upgrade to 3.4.2 packagegroup-meta-oe: Add evemu-tools vk-gl-cts: Fix O_TRUNC conflict with fcntl.h dhcp-relay: Fix libtool files for internal bind build mongodb: Change PV to 4.4.6 mongodb: Fix -Wc++11-narrowing warning on 32bit mariadb: Include missing sys/type.h for ssize_t Leon Anavi (81): python3-pywbemtools: Upgrade 0.8.1 -> 0.9.0 python3-humanize: Upgrade 3.4.1 -> 3.5.0 python3-elementpath: Upgrade 2.2.1 -> 2.2.2 python3-typing-extensions: Upgrade 3.7.4.3 -> 3.10.0.0 python3-watchdog: Upgrade 2.0.3 -> 2.1.0 python3-greenlet: Upgrade 1.0.0 -> 1.1.0 python3-bitarray: Upgrade 2.0.1 -> 2.1.0 python3-websockets: Upgrade 8.1 -> 9.0.1 python3-babel: Upgrade 2.9.0 -> 2.9.1 python3-croniter: Upgrade 1.0.12 -> 1.0.13 python3-serpent: Upgrade 1.30.2 -> 1.40 python3-cerberus: Upgrade 1.3.3 -> 1.3.4 python3-aiohue: Upgrade 2.2.0 -> 2.3.0 python3-robotframework: Upgrade 4.0.1 -> 4.0.2 python3-sentry-sdk: Upgrade 1.0.0 -> 1.1.0 python3-aiohue: Upgrade 2.3.0 -> 2.3.1 python3-watchdog: Upgrade 2.1.0 -> 2.1.1 python3-itsdangerous: Upgrade 1.1.0 -> 2.0.0 python3-websocket-client: Upgrade 0.58.0 -> 0.59.0 python3-google-api-python-client: Upgrade 2.2.0 -> 2.4.0 python3-configargparse: Upgrade 1.4 -> 1.4.1 python3-click: Upgrade 7.1.2 -> 8.0.0 python3-pysonos: Upgrade 0.0.43 -> 0.0.46 python3-rfc3339-validator: Upgrade 0.1.3 -> 0.1.4 python3-pymongo: Upgrade 3.11.3 -> 3.11.4 python3-alembic: Upgrade 1.5.8 -> 1.6.2 python3-deprecated: Add recipe python3-pymisp: Upgrade 2.4.142 -> 2.4.143 python3-aiohue: Upgrade 2.3.1 -> 2.4.0 python3-pyroute2: Upgrade 0.5.18 -> 0.5.19 python3-matplotlib-inline: Add recipe python3-ipython: Upgrade 7.22.0 -> 7.23.1 python3-sh: Upgrade 1.14.1 -> 1.14.2 python3-javaobj-py3: Upgrade 0.4.2 -> 0.4.3 python3-pyjwt: Upgrade 2.0.1 -> 2.1.0 python3-aiofiles: Upgrade 0.6.0 -> 0.7.0 python3-aiohue: Upgrade 2.4.0 -> 2.5.0 python3-cbor2: Upgrade 5.2.0 -> 5.3.0 python3-websockets: Upgrade 9.0.1 -> 9.0.2 python3-decorator: Upgrade 5.0.7 -> 5.0.9 python3-websocket-client: Upgrade 0.59.0 -> 1.0.0 python3-pysonos: Upgrade 0.0.46 -> 0.0.48 surf: Upgrade 2.0 -> 2.1 python3-pywbem: Upgrade 1.1.3 -> 1.2.0 python3-watchdog: Upgrade 2.1.1 -> 2.1.2 python3-click: Upgrade 8.0.0 -> 8.0.1 python3-pysonos: Upgrade 0.0.48 -> 0.0.49 python3-pytest-runner: Upgrade 5.3.0 -> 5.3.1 python3-xmlschema: Upgrade 1.6.1 -> 1.6.2 python3-websocket-client: Upgrade 1.0.0 -> 1.0.1 python3-alembic: Upgrade 1.6.2 -> 1.6.4 python3-sqlalchemy: Upgrade 1.4.11 -> 1.4.15 python3-flask-migrate: Upgrade 2.7.0 -> 3.0.0 python3-flask: Upgrade 1.1.2 -> 2.0.1 python3-flask-wtf: Upgrade 0.14.3 -> 0.15.1 python3-flask-socketio: Upgrade 5.0.1 -> 5.0.3 python3-werkzeug: Upgrade 1.0.1 -> 2.0.1 python3-bidict: Add recipe python3-socketio: Upgrade 5.1.0 -> 5.3.0 python3-robotframework: Upgrade 4.0.2 -> 4.0.3 python3-flask-restful: Upgrade 0.3.8 -> 0.3.9 python3-pysonos: Upgrade 0.0.49 -> 0.0.50 python3-aenum: Upgrade 3.0.0 -> 3.1.0 python3-pyscaffold: Upgrade 4.0.1 -> 4.0.2 python3-urllib3: Upgrade 1.26.4 -> 1.26.5 python3-tqdm: Upgrade 4.60.0 -> 4.61.0 python3-flask: Extend RDEPENDS python3-ecdsa: Upgrade 0.16.1 -> 0.17.0 python3-alembic: Upgrade 1.6.4 -> 1.6.5 python3-websockets: Upgrade 9.0.2 -> 9.1 python3-pyzmq: Upgrade 22.0.3 -> 22.1.0 python3-ntplib: Upgrade 0.3.4 -> 0.4.0 python3-humanize: Upgrade 3.5.0 -> 3.6.0 python3-astroid: Upgrade 2.5.6 -> 2.5.7 python3-netifaces: Upgrade 0.10.9 -> 0.11.0 python3-certifi: Upgrade 2020.12.5 -> 2021.5.30 python3-click-repl: Upgrade 0.1.6 -> 0.2.0 python3-google-api-python-client: Upgrade 2.4.0 -> 2.6.0 python3-pytest-helpers-namespace: Upgrade 2021.3.24 -> 2021.4.29 python3-ipython: Upgrade 7.23.1 -> 7.24.0 python3-ruamel-yaml: Upgrade 0.17.4 -> 0.17.7 LiweiSong (1): pm-graph: parse separated cpu exec line Martin Jansa (7): ostree: switch from default master branch to main to fix do_fetch failure snappy: explicity disable building tests and benchmark libtinyxml2: restore building shared library zsh: work around file-rdeps QA issues with usrmerge in DISTRO_FEATURES snappy: fix native build with older gcc on host p7zip: refresh patches with devtool to apply cleanly gtkwave: set REQUIRED_DISTRO_FEATURES only to wayland Nisha Parrakat (1): p7zip: build and package lib7z.so needed for fastboot Nuno Sá (2): libiio: add serial backend support libiio: mark libxml2 as depends for usb_backend Robert Joslyn (1): ctags: Use PACKAGECONFIG for build options Romain Naour (4): poke: add recipe for version 1.2 poke: add optional json-c dependency packagegroup-meta-oe: Add poke to packagegroup-meta-oe-devtools libiec61850: Upgrade to 1.5.0 Ross Burton (3): nss: disable -Werror nss: remove -march vs -mcpu workaround meta-gnome: add Cogl/Clutter from oe-core Saul Wold (2): opencv: remove tbb packageconfig for powerpc sysdig: disable building for ppc Stefan Ghinea (1): thunar: fix CVE-2021-32563 Stefan Wiehler (3): http-parser: add recipe restinio: add recipe restinio: fix license Trevor Gamblin (6): python3-django: upgrade 2.2.20 -> 2.2.22 python3-django: upgrade 3.2 -> 3.2.2 python3-django: upgrade 2.2.22 -> 2.2.23 python3-django: upgrade 3.2.2 -> 3.2.3 python3-ujson: fix ptests python3-prettytable: add python3-sqlite3 for ptest William A. Kennington III (1): span-lite: upgrade 0.8.1 -> 0.9.2 Yi Zhao (1): dhcp-relay: add recipe wangmy (11): uftrace: Fix a plthook crash on aarch64 with binutils2.35.1 and later versions on aarch64 exiv2: Fix CVE-2021-29457 exiv2: Fix CVE-2021-29458 exiv2: Fix CVE-2021-29463 exiv2: Fix CVE-2021-3482 exiv2: Fix CVE-2021-29464 exiv2: Fix CVE-2021-29470 exiv2: Fix CVE-2021-29473 libsdl: Fix CVE-2019-13616 trace-cmd: Conflict resolution uftrace: upgrade 0.9.4 -> 0.10 zangrc (21): ifenslave: upgrade 2.11 -> 2.12 lksctp-tools: upgrade 1.0.18 -> 1.0.19 nbdkit: upgrade 1.25.6 -> 1.25.7 tcpreplay: upgrade 4.3.3 -> 4.3.4 cloc: upgrade 1.88 -> 1.90 gensio: upgrade 2.2.4 -> 2.2.5 iwd: upgrade 1.13 -> 1.14 makedumpfile: upgrade 1.6.8 -> 1.6.9 postgresql: upgrade 13.2 -> 13.3 libencode-perl: upgrade 3.08 -> 3.10 python3-xlsxwriter: upgrade 1.4.0 -> 1.4.3 python3-itsdangerous: upgrade 2.0.0 -> 2.0.1 python3-protobuf: upgrade 3.14.0 -> 3.17.0 python3-pulsectl: upgrade 21.3.4 -> 21.5.17 python3-engineio: upgrade 3.13.0 -> 4.2.0 python3-can: upgrade 3.3.3 -> 3.3.4 gexiv2: upgrade 0.12.1 -> 0.12.2 gnome-autoar: upgrade 0.3.1 -> 0.3.2 gnome-bluetooth: upgrade 3.34.1 -> 3.34.5 libgweather: upgrade 3.36.1 -> 3.36.2 libstemmer: upgrade 2.0.0 -> 2.1.0 zhengruoqin (8): libdivecomputer: upgrade 0.6.0 -> 0.7.0 libjcat: upgrade 0.1.6 -> 0.1.7 libxmlb: upgrade 0.3.0 -> 0.3.1 chrony: upgrade 4.0 -> 4.1 libqmi: upgrade 1.28.2 -> 1.28.4 libtinyxml2: upgrade 8.0.0 -> 8.1.0 libndp: upgrade 1.7 -> 1.8 valijson: upgrade 0.3 -> 0.4 Change-Id: I8a1f42af3063886d88a7c0c5c79a45dde55c34da Signed-off-by: William A. Kennington III <wak@google.com>
Diffstat (limited to 'meta-openembedded/meta-multimedia/recipes-multimedia/libcamera')
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb9
-rw-r--r--meta-openembedded/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-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
index b05df3210..30dab1d92 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
@@ -10,12 +10,11 @@ LIC_FILES_CHKSUM = "\
SRC_URI = " \
git://linuxtv.org/libcamera.git;protocol=git \
- file://0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch \
"
-SRCREV = "f490a87fd339fc7443f5d8467ba56a35c750a5f7"
+SRCREV = "193ca8c353a42334f65ddfc988a105a47bca3547"
-PV = "202102+git${SRCPV}"
+PV = "202105+git${SRCPV}"
S = "${WORKDIR}/git"
@@ -31,6 +30,10 @@ RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayla
inherit meson pkgconfig python3native
+do_configure_prepend() {
+ sed -i -e 's|py_compile=True,||' ${S}/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
+}
+
do_install_append() {
chrpath -d ${D}${libdir}/libcamera.so
}
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch
deleted file mode 100644
index cec5fc287..000000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-Delivered-To: raj.khem@gmail.com
-Received: by 2002:a05:620a:20d3:0:0:0:0 with SMTP id f19csp2716715qka;
- Sat, 27 Mar 2021 19:58:30 -0700 (PDT)
-X-Google-Smtp-Source: ABdhPJwyDnjZqZmFqHVShb/5/RoVkJ4Avv5bcnyuo85vIRR2vJDQF+QBZpQpEWHgx5GuEuwLVSC+
-X-Received: by 2002:a05:6512:22d0:: with SMTP id g16mr12125441lfu.650.1616900310724;
- Sat, 27 Mar 2021 19:58:30 -0700 (PDT)
-ARC-Seal: i=1; a=rsa-sha256; t=1616900310; cv=none;
- d=google.com; s=arc-20160816;
- b=bZlu68tossyE2YcGkt0HzIhqTUroWDT/EgJvAiQBgZ6bPzMJ+wjwWp3LzViqOxiRPQ
- r0cFyme7CJ9YRf2TLmpjGuv2RPQ+EkrtFdlB7i65nhDrwvBoxt78vF2tUoDgVLL1YrU9
- wKgHPtBjtDcDveOXKQJH2j5HRwiBjCXlPRBhlSxV8kJPBj//dRaKm0MsxfiW/IgyN1tZ
- FFxfe4Lk1Awm8ZKAklhdKMly3MFA6IbnjwNcN/84a0R/0+PLu9X8XIR6+CnrfqSgWOBx
- zsV8p3HuVQTpX7Hhnkiz7PYudHsJJ/7KXeXTP6s9NNnZGu9A6U/E6VOob5BSm9DDIA5z
- 4AnA==
-ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
- h=content-transfer-encoding:mime-version:message-id:date:subject:cc
- :to:from:dkim-signature;
- bh=fbAn+wsNks5BGTY34H4T90NDFJaNV4nnt9vc9DBFaWQ=;
- b=mLZNiQR/CdgcVTAc7OQmK0ZYTVpofG/EOqTIi2NYIYFhanWhatYY9Hx2xwxIp6kQ5R
- n0uXh5tLth6aPYD09z3YcXYasEIszBKwoNUFjRA85lFm3d5/J2S1wC5rBy25QeCDOg57
- QdzYrTBX2QGRHGQKauEnX5FLDTT+I53sPa87TyvxUKBS+lTAbJig70KfmL7FJIEWT1ZI
- CZKCErYFlQTGNnwM0CYVXyHv54D2tA25veHQIJN8KK+XObNWuAY3rYpqKoUpOP4vpSPi
- MXJWAV4L6NZEShWvwJiC4Zdy2xFzXASX27CAKIsX6T5Rub03grVTg6WVt9bChK1x5jeg
- A2Yw==
-ARC-Authentication-Results: i=1; mx.google.com;
- dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=MniKswyT;
- spf=pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) smtp.mailfrom=laurent.pinchart@ideasonboard.com
-Return-Path: <laurent.pinchart@ideasonboard.com>
-Received: from perceval.ideasonboard.com (perceval.ideasonboard.com. [213.167.242.64])
- by mx.google.com with ESMTPS id v18si12339470ljj.208.2021.03.27.19.58.30
- for <raj.khem@gmail.com>
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Sat, 27 Mar 2021 19:58:30 -0700 (PDT)
-Received-SPF: pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) client-ip=213.167.242.64;
-Authentication-Results: mx.google.com;
- dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=MniKswyT;
- spf=pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) smtp.mailfrom=laurent.pinchart@ideasonboard.com
-Received: from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57])
- by perceval.ideasonboard.com (Postfix) with ESMTPSA id 11F12332;
- Sun, 28 Mar 2021 04:58:28 +0200 (CEST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;
- s=mail; t=1616900309;
- bh=BwCg4h9N9fJysbMT1Yjbazbp7zTImD9mkWJSjCKzCmg=;
- h=From:To:Cc:Subject:Date:From;
- b=MniKswyT+aUtPgeMFeLqW6cRMFsPRN4W1XtVDA6pqI0QTSSx5koEuzSfEybjs6Qbp
- ZdQar1r5nBIRCg9uq85YoLKoFeT7WN4PrwnRYPwaYGAFHfV44rDrq4RBe3VOIb+85W
- tKn4HEzjlFelrImVbeymBsgpVhITveSVH1MdYRsE=
-From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-To: libcamera-devel@lists.libcamera.org
-Cc: Khem Raj <raj.khem@gmail.com>
-Subject: [PATCH v2] libcamera: pipeline: uvcvideo: Avoid reference to temporary object
-Date: Sun, 28 Mar 2021 05:57:41 +0300
-Message-Id: <20210328025741.30246-1-laurent.pinchart@ideasonboard.com>
-X-Mailer: git-send-email 2.28.1
-MIME-Version: 1.0
-Content-Transfer-Encoding: 8bit
-
-From: Khem Raj <raj.khem@gmail.com>
-
-A range-based for loop whose range expression is an array of char
-pointers and range variable declaration is a const reference to a
-std::string creates a temporary string from the char pointer and binds
-the range variable reference to it. This creates a const reference to a
-temporary, which is valid in C++, and extends the lifetime of the
-temporary to the lifetime of the reference.
-
-However, lifetime extension in range-based for loops is considered as a
-sign of a potential issue, as a temporary is created for every
-iteration, which can be costly, and the usage of a reference in the
-range declaration doesn't make it obvious that the code isn't simply
-binding a reference to an existing object. gcc 11, with the
--Wrange-loop-construct option, flags this:
-
-uvcvideo.cpp:432:33: error: loop variable 'name' of type 'const string&' {aka 'const std::__cxx11::basic_string<cha
-r>&'} binds to a temporary constructed from type 'const char* const' [-Werror=range-loop-construct]
-| 432 | for (const std::string &name : { "idVendor", "idProduct" }) {
-| | ^~~~
-
-To please the compiler, make the range variable a const char *. This may
-bring a tiny performance improvement, as the name is only used once, in
-a location where the compiler can use
-
- operator+(const std::string &, const char *)
-
-instead of
-
- operator+(const std::string &, const std::string &)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-
-Use a const char * type instead of auto, and update the commit message
-accordingly.
-
-Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
----
- src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
-index 031f96e28449..b6c6ade5ebaf 100644
---- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
-+++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
-@@ -429,7 +429,7 @@ std::string PipelineHandlerUVC::generateId(const UVCCameraData *data)
-
- /* Creata a device ID from the USB devices vendor and product ID. */
- std::string deviceId;
-- for (const std::string &name : { "idVendor", "idProduct" }) {
-+ for (const char *name : { "idVendor", "idProduct" }) {
- std::ifstream file(path + "/../" + name);
-
- if (!file.is_open())
---
-Regards,
-
-Laurent Pinchart
-