From patchwork Sat Apr 1 15:46:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Markus Volk X-Patchwork-Id: 22079 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 61CB2C6FD1D for ; Sat, 1 Apr 2023 15:50:59 +0000 (UTC) Received: from mailout09.t-online.de (mailout09.t-online.de [194.25.134.84]) by mx.groups.io with SMTP id smtpd.web10.24383.1680364255821946214 for ; Sat, 01 Apr 2023 08:50:56 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=SPF record not found (domain: t-online.de, ip: 194.25.134.84, mailfrom: f_l_k@t-online.de) Received: from fwd82.dcpf.telekom.de (fwd82.aul.t-online.de [10.223.144.108]) by mailout09.t-online.de (Postfix) with SMTP id EB5B420E78 for ; Sat, 1 Apr 2023 17:50:53 +0200 (CEST) Received: from flk-MS-7C91.fritz.box ([79.219.236.62]) by fwd82.t-online.de with (TLSv1.3:TLS_AES_256_GCM_SHA384 encrypted) esmtp id 1pidVF-4QO3hi0; Sat, 1 Apr 2023 17:50:53 +0200 From: Markus Volk To: openembedded-devel@lists.openembedded.org Cc: Markus Volk Subject: [meta-multimedia][PATCH 2/2] libcamera: re-introduce fix for gcc-13 Date: Sat, 1 Apr 2023 17:46:08 +0200 Message-Id: <20230401154608.6796-2-f_L_K@t-online.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230401154608.6796-1-f_L_K@t-online.de> References: <20230401154608.6796-1-f_L_K@t-online.de> MIME-Version: 1.0 X-TOI-EXPURGATEID: 150726::1680364253-79066C36-D5BBE784/0/0 CLEAN NORMAL X-TOI-MSGID: 99f87af7-ec86-474d-9b7d-20c01bdbfa42 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 01 Apr 2023 15:50:59 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/101870 Signed-off-by: Markus Volk --- ...le_sink.cpp-Avoid-dangling-reference.patch | 44 +++++++++++++++++++ .../libcamera/libcamera_0.0.4.bb | 5 ++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-file_sink.cpp-Avoid-dangling-reference.patch diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-file_sink.cpp-Avoid-dangling-reference.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-file_sink.cpp-Avoid-dangling-reference.patch new file mode 100644 index 000000000..55a5977a7 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-file_sink.cpp-Avoid-dangling-reference.patch @@ -0,0 +1,44 @@ +From 2eaffc9ac8b47c354404075761fe8f76fad0ced4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 24 Jan 2023 01:18:25 -0800 +Subject: [PATCH] file_sink.cpp: Avoid dangling-reference + +Fixes following errors with gcc-13 + +../git/src/cam/file_sink.cpp:92:45: error: possibly dangling reference to a temporary [-Werror=dangling-reference] + 92 | const FrameMetadata::Plane &meta = buffer->metadata().planes()[i]; + | ^~~~ +../git/src/cam/file_sink.cpp:92:81: note: the temporary was destroyed at the end of the full expression '(& buffer->libcamera::FrameBuffer::metadata())->libcamera::FrameMetadata::planes().libcamera::Span::operator[](i)' + 92 | const FrameMetadata::Plane &meta = buffer->metadata().planes()[i]; + | ^ +cc1plus: all warnings being treated as errors + +Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2023-January/036575.html] +Signed-off-by: Khem Raj + +--- + src/apps/cam/file_sink.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/apps/cam/file_sink.cpp b/src/apps/cam/file_sink.cpp +index b32aad24..9f4c5648 100644 +--- a/src/apps/cam/file_sink.cpp ++++ b/src/apps/cam/file_sink.cpp +@@ -114,13 +114,13 @@ void FileSink::writeBuffer(const Stream *stream, FrameBuffer *buffer, + } + + for (unsigned int i = 0; i < buffer->planes().size(); ++i) { +- const FrameMetadata::Plane &meta = buffer->metadata().planes()[i]; ++ unsigned int bytesused = buffer->metadata().planes()[i].bytesused; + + Span data = image->data(i); +- unsigned int length = std::min(meta.bytesused, data.size()); ++ unsigned int length = std::min(bytesused, data.size()); + +- if (meta.bytesused > data.size()) +- std::cerr << "payload size " << meta.bytesused ++ if (bytesused > data.size()) ++ std::cerr << "payload size " << bytesused + << " larger than plane size " << data.size() + << std::endl; + diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.4.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.4.bb index cbcc33aa4..12d42991e 100644 --- a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.4.bb +++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.4.bb @@ -8,7 +8,10 @@ LIC_FILES_CHKSUM = "\ file://LICENSES/LGPL-2.1-or-later.txt;md5=2a4f4fd2128ea2f65047ee63fbca9f68 \ " -SRC_URI = "git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master" +SRC_URI = " \ + git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master \ + file://0001-file_sink.cpp-Avoid-dangling-reference.patch \ +" SRCREV = "6cf637eb253a68edebe59505bea55435fafb00cd"