[PATCH 01/27] libcamera: MappedFrameBuffer: Add tracking of mmap file descriptors to MappedFrameBuffer
Bryan O'Donoghue
bryan.odonoghue at linaro.org
Tue Apr 22 23:58:54 CEST 2025
In order to import via eglCreateImageKHR via an file descriptor we need to
have access to the file descriptor associated with the plane.
Extend MappedFrameBuffer to track the file descriptor giving an accessor
method in-line with the existing planes_ accessor.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue at linaro.org>
---
include/libcamera/internal/mapped_framebuffer.h | 2 ++
src/libcamera/mapped_framebuffer.cpp | 1 +
2 files changed, 3 insertions(+)
diff --git a/include/libcamera/internal/mapped_framebuffer.h b/include/libcamera/internal/mapped_framebuffer.h
index 6aaabf50..cb81243e 100644
--- a/include/libcamera/internal/mapped_framebuffer.h
+++ b/include/libcamera/internal/mapped_framebuffer.h
@@ -31,6 +31,7 @@ public:
bool isValid() const { return error_ == 0; }
int error() const { return error_; }
const std::vector<Plane> &planes() const { return planes_; }
+ const std::vector<int> &fds() const { return fds_; }
protected:
MappedBuffer();
@@ -38,6 +39,7 @@ protected:
int error_;
std::vector<Plane> planes_;
std::vector<Plane> maps_;
+ std::vector<int> fds_;
private:
LIBCAMERA_DISABLE_COPY(MappedBuffer)
diff --git a/src/libcamera/mapped_framebuffer.cpp b/src/libcamera/mapped_framebuffer.cpp
index f54bbf21..82ab132c 100644
--- a/src/libcamera/mapped_framebuffer.cpp
+++ b/src/libcamera/mapped_framebuffer.cpp
@@ -237,6 +237,7 @@ MappedFrameBuffer::MappedFrameBuffer(const FrameBuffer *buffer, MapFlags flags)
}
planes_.emplace_back(info.address + plane.offset, plane.length);
+ fds_.emplace_back(fd);
}
}
--
2.49.0
More information about the libcamera-devel
mailing list