summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/android/camera_device.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index e609ed76..fd68fe4a 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -1132,12 +1132,13 @@ FrameBuffer *CameraDevice::createFrameBuffer(const buffer_handle_t camera3buffer
return nullptr;
}
- /*
- * Setting length to zero here is OK as the length is only used
- * to map the memory of the plane. Libcamera do not need to poke
- * at the memory content queued by the HAL.
- */
- plane.length = 0;
+ off_t length = lseek(plane.fd.fd(), 0, SEEK_END);
+ if (length == -1) {
+ LOG(HAL, Error) << "Failed to query plane length";
+ return nullptr;
+ }
+
+ plane.length = length;
planes.push_back(std::move(plane));
}