diff options
author | Khem Raj <raj.khem@gmail.com> | 2023-01-24 01:24:47 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2023-01-25 08:57:42 -0800 |
commit | d8381620cdd763a7306603de529e6c9709c8b906 (patch) | |
tree | 7c76774e04862f36cf4d85d653ec6237770aa2ce /meta-multimedia | |
parent | 05ef2b65700f1a9d9b0bf22f0f04f954c2800828 (diff) | |
download | meta-openembedded-d8381620cdd763a7306603de529e6c9709c8b906.tar.gz |
libcamera: Fix build with gcc-13
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-multimedia')
-rw-r--r-- | meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-file_sink.cpp-Avoid-dangling-reference.patch | 46 | ||||
-rw-r--r-- | meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.1.bb | 1 |
2 files changed, 47 insertions, 0 deletions
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 0000000000..5aa6ee8d3c --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-file_sink.cpp-Avoid-dangling-reference.patch @@ -0,0 +1,46 @@ +From 0e97896e6a09957f27125957d00b5150ec90b2e9 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +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<const libcamera::FrameMetadata::Plane>::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 <raj.khem@gmail.com> +--- + src/cam/file_sink.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/cam/file_sink.cpp b/src/cam/file_sink.cpp +index 45213d4a..897c4b37 100644 +--- a/src/cam/file_sink.cpp ++++ b/src/cam/file_sink.cpp +@@ -89,13 +89,13 @@ void FileSink::writeBuffer(const Stream *stream, FrameBuffer *buffer) + Image *image = mappedBuffers_[buffer].get(); + + 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<uint8_t> data = image->data(i); +- unsigned int length = std::min<unsigned int>(meta.bytesused, data.size()); ++ unsigned int length = std::min<unsigned int>(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; + +-- +2.39.1 + diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.1.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.1.bb index 483fe1507e..46f058f2ea 100644 --- a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.1.bb +++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.1.bb @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "\ SRC_URI = " \ git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master \ + file://0001-file_sink.cpp-Avoid-dangling-reference.patch \ " SRCREV = "a83aed77df1258e469c0eb42d9cb4f1938db53f2" |