diff options
Diffstat (limited to 'camera/common')
-rw-r--r-- | camera/common/1.0/default/Android.bp | 1 | ||||
-rw-r--r-- | camera/common/1.0/default/CameraModule.cpp | 22 | ||||
-rw-r--r-- | camera/common/1.0/default/include/CameraModule.h | 1 |
3 files changed, 20 insertions, 4 deletions
diff --git a/camera/common/1.0/default/Android.bp b/camera/common/1.0/default/Android.bp index 4a5ca83803..0927807b21 100644 --- a/camera/common/1.0/default/Android.bp +++ b/camera/common/1.0/default/Android.bp @@ -36,4 +36,5 @@ cc_library_static { ], include_dirs: ["system/media/private/camera/include"], export_include_dirs: ["include"], + sdclang: false, } diff --git a/camera/common/1.0/default/CameraModule.cpp b/camera/common/1.0/default/CameraModule.cpp index 16fb85cc64..188b4bed27 100644 --- a/camera/common/1.0/default/CameraModule.cpp +++ b/camera/common/1.0/default/CameraModule.cpp @@ -267,6 +267,22 @@ int CameraModule::init() { return res; } +int CameraModule::getCameraDeviceVersion(int cameraId, uint32_t* version) { + ATRACE_CALL(); + int ret; + if (getModuleApiVersion() >= CAMERA_MODULE_API_VERSION_2_5 && + mModule->get_camera_device_version != NULL) { + ret = mModule->get_camera_device_version(cameraId, version); + } else { + struct camera_info info; + ret = getCameraInfo(cameraId, &info); + if (ret == OK) { + *version = info.device_version; + } + } + return ret; +} + int CameraModule::getCameraInfo(int cameraId, struct camera_info *info) { ATRACE_CALL(); Mutex::Autolock lock(mCameraInfoLock); @@ -367,11 +383,9 @@ int CameraModule::getPhysicalCameraInfo(int physicalCameraId, camera_metadata_t int CameraModule::getDeviceVersion(int cameraId) { ssize_t index = mDeviceVersionMap.indexOfKey(cameraId); if (index == NAME_NOT_FOUND) { - int deviceVersion; + uint32_t deviceVersion; if (getModuleApiVersion() >= CAMERA_MODULE_API_VERSION_2_0) { - struct camera_info info; - getCameraInfo(cameraId, &info); - deviceVersion = info.device_version; + getCameraDeviceVersion(cameraId, &deviceVersion); } else { deviceVersion = CAMERA_DEVICE_API_VERSION_1_0; } diff --git a/camera/common/1.0/default/include/CameraModule.h b/camera/common/1.0/default/include/CameraModule.h index c89e934655..8195835406 100644 --- a/camera/common/1.0/default/include/CameraModule.h +++ b/camera/common/1.0/default/include/CameraModule.h @@ -49,6 +49,7 @@ public: // Returns OK on success, NO_INIT on failure int init(); + int getCameraDeviceVersion(int cameraId, uint32_t* version); int getCameraInfo(int cameraId, struct camera_info *info); int getDeviceVersion(int cameraId); int getNumberOfCameras(void); |