Initial static info.
Fills in initial values for all required static info
fields for LIMITED devices. Currently fakes entries
that will eventually be queried from the device (open
bug https://b/29394024).
BUG: https://b/29214526, https://b/29221641
Change-Id: I6b4bfa172c882df22159da63378902cea7cc76fd
diff --git a/modules/camera/3_4/Camera.cpp b/modules/camera/3_4/Camera.cpp
index 6e9e12a..0014a39 100644
--- a/modules/camera/3_4/Camera.cpp
+++ b/modules/camera/3_4/Camera.cpp
@@ -60,7 +60,7 @@
memset(&mTemplates, 0, sizeof(mTemplates));
memset(&mDevice, 0, sizeof(mDevice));
mDevice.common.tag = HARDWARE_DEVICE_TAG;
- mDevice.common.version = CAMERA_DEVICE_API_VERSION_3_0;
+ mDevice.common.version = CAMERA_DEVICE_API_VERSION_3_4;
mDevice.common.close = close_device;
mDevice.ops = const_cast<camera3_device_ops_t*>(&sOps);
mDevice.priv = this;
@@ -109,9 +109,10 @@
info->device_version = mDevice.common.version;
initDeviceInfo(info);
if (mStaticInfo == NULL) {
- mStaticInfo = initStaticInfo();
+ if (initStaticInfo(&mStaticInfo)) {
+ return -ENODEV;
+ }
}
-
info->static_camera_characteristics = mStaticInfo;
return 0;
}
@@ -319,7 +320,7 @@
bool Camera::isValidTemplateType(int type)
{
- return type < 1 || type >= CAMERA3_TEMPLATE_COUNT;
+ return type > 0 && type < CAMERA3_TEMPLATE_COUNT;
}
const camera_metadata_t* Camera::constructDefaultRequestSettings(int type)
@@ -514,7 +515,7 @@
return "Invalid template type!";
}
-int Camera::setTemplate(int type, camera_metadata_t *settings)
+int Camera::setTemplate(int type, const camera_metadata_t *settings)
{
android::Mutex::Autolock al(mDeviceLock);
@@ -558,6 +559,7 @@
return camdev_to_camera(dev)->configureStreams(stream_list);
}
+ // TODO: remove
static int register_stream_buffers(const camera3_device_t *dev,
const camera3_stream_buffer_set_t *buffer_set)
{
@@ -592,7 +594,7 @@
const camera3_device_ops_t Camera::sOps = {
.initialize = default_camera_hal::initialize,
.configure_streams = default_camera_hal::configure_streams,
- .register_stream_buffers = default_camera_hal::register_stream_buffers,
+ .register_stream_buffers = nullptr,
.construct_default_request_settings
= default_camera_hal::construct_default_request_settings,
.process_capture_request = default_camera_hal::process_capture_request,