47 lines
2.1 KiB
Diff
47 lines
2.1 KiB
Diff
From e268bf274d315b90d205e3778cf06c40b6f374b6 Mon Sep 17 00:00:00 2001
|
|
From: Wim Taymans <wtaymans@redhat.com>
|
|
Date: Tue, 24 Jan 2023 16:29:19 +0100
|
|
Subject: [PATCH] cam: fix compilation with gcc-13
|
|
|
|
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
|
|
|
|
Signed-off-by: Khem Raj <raj.khem at gmail.com>
|
|
Signed-off-by: Wim Taymans <wim.taymans at gmail.com>
|
|
---
|
|
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<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
|
|
|