[libcamera-devel] [PATCH 1/2] android: CameraDevice: Mark getResultMetadata() const function

Hirokazu Honda hiroh at chromium.org
Thu Mar 25 12:13:56 CET 2021


CameraDevice::getResultMetadata() doesn't change either
|descriptor| and member variables. It should be marked as a
const function and |descriptor| should be passed with const
lvalue reference.

Signed-off-by: Hirokazu Honda <hiroh at chromium.org>
---
 src/android/camera_device.cpp | 10 +++++-----
 src/android/camera_device.h   |  3 ++-
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index 5fbf6f82..ae693664 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -1924,7 +1924,7 @@ void CameraDevice::requestComplete(Request *request)
 	 * pipeline handlers) timestamp in the Request itself.
 	 */
 	uint64_t timestamp = buffers.begin()->second->metadata().timestamp;
-	resultMetadata = getResultMetadata(descriptor, timestamp);
+	resultMetadata = getResultMetadata(*descriptor, timestamp);

 	/* Handle any JPEG compression. */
 	for (camera3_stream_buffer_t &buffer : descriptor->buffers_) {
@@ -2030,11 +2030,11 @@ void CameraDevice::notifyError(uint32_t frameNumber, camera3_stream_t *stream)
  * Produce a set of fixed result metadata.
  */
 std::unique_ptr<CameraMetadata>
-CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor,
-				int64_t timestamp)
+CameraDevice::getResultMetadata(const Camera3RequestDescriptor &descriptor,
+				int64_t timestamp) const
 {
-	const ControlList &metadata = descriptor->request_->metadata();
-	const CameraMetadata &settings = descriptor->settings_;
+	const ControlList &metadata = descriptor.request_->metadata();
+	const CameraMetadata &settings = descriptor.settings_;
 	camera_metadata_ro_entry_t entry;
 	bool found;

diff --git a/src/android/camera_device.h b/src/android/camera_device.h
index 09c395ff..11bdfec8 100644
--- a/src/android/camera_device.h
+++ b/src/android/camera_device.h
@@ -102,7 +102,8 @@ private:
 	libcamera::PixelFormat toPixelFormat(int format) const;
 	int processControls(Camera3RequestDescriptor *descriptor);
 	std::unique_ptr<CameraMetadata> getResultMetadata(
-		Camera3RequestDescriptor *descriptor, int64_t timestamp);
+		const Camera3RequestDescriptor &descriptor,
+		int64_t timestamp) const;

 	unsigned int id_;
 	camera3_device_t camera3Device_;
--
2.31.0.291.g576ba9dcdaf-goog


More information about the libcamera-devel mailing list