Loading services/camera/libcameraservice/common/CameraModule.cpp +14 −5 Original line number Diff line number Diff line Loading @@ -154,6 +154,18 @@ CameraModule::CameraModule(camera_module_t *module) { mCameraInfoMap.setCapacity(getNumberOfCameras()); } CameraModule::~CameraModule() { while (mCameraInfoMap.size() > 0) { camera_info cameraInfo = mCameraInfoMap.editValueAt(0); if (cameraInfo.static_camera_characteristics != NULL) { free_camera_metadata( const_cast<camera_metadata_t*>(cameraInfo.static_camera_characteristics)); } mCameraInfoMap.removeItemsAt(0); } } int CameraModule::init() { if (getModuleApiVersion() >= CAMERA_MODULE_API_VERSION_2_4 && mModule->init != NULL) { Loading Loading @@ -192,12 +204,9 @@ int CameraModule::getCameraInfo(int cameraId, struct camera_info *info) { CameraMetadata m; m = rawInfo.static_camera_characteristics; deriveCameraCharacteristicsKeys(rawInfo.device_version, m); mCameraCharacteristicsMap.add(cameraId, m); cameraInfo = rawInfo; cameraInfo.static_camera_characteristics = mCameraCharacteristicsMap.valueFor(cameraId).getAndLock(); mCameraInfoMap.add(cameraId, cameraInfo); index = mCameraInfoMap.indexOfKey(cameraId); cameraInfo.static_camera_characteristics = m.release(); index = mCameraInfoMap.add(cameraId, cameraInfo); } assert(index != NAME_NOT_FOUND); Loading services/camera/libcameraservice/common/CameraModule.h +1 −1 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ namespace android { class CameraModule { public: CameraModule(camera_module_t *module); virtual ~CameraModule(); // Must be called after construction // Returns OK on success, NO_INIT on failure Loading Loading @@ -60,7 +61,6 @@ private: camera_module_t *mModule; KeyedVector<int, camera_info> mCameraInfoMap; KeyedVector<int, CameraMetadata> mCameraCharacteristicsMap; Mutex mCameraInfoLock; }; Loading Loading
services/camera/libcameraservice/common/CameraModule.cpp +14 −5 Original line number Diff line number Diff line Loading @@ -154,6 +154,18 @@ CameraModule::CameraModule(camera_module_t *module) { mCameraInfoMap.setCapacity(getNumberOfCameras()); } CameraModule::~CameraModule() { while (mCameraInfoMap.size() > 0) { camera_info cameraInfo = mCameraInfoMap.editValueAt(0); if (cameraInfo.static_camera_characteristics != NULL) { free_camera_metadata( const_cast<camera_metadata_t*>(cameraInfo.static_camera_characteristics)); } mCameraInfoMap.removeItemsAt(0); } } int CameraModule::init() { if (getModuleApiVersion() >= CAMERA_MODULE_API_VERSION_2_4 && mModule->init != NULL) { Loading Loading @@ -192,12 +204,9 @@ int CameraModule::getCameraInfo(int cameraId, struct camera_info *info) { CameraMetadata m; m = rawInfo.static_camera_characteristics; deriveCameraCharacteristicsKeys(rawInfo.device_version, m); mCameraCharacteristicsMap.add(cameraId, m); cameraInfo = rawInfo; cameraInfo.static_camera_characteristics = mCameraCharacteristicsMap.valueFor(cameraId).getAndLock(); mCameraInfoMap.add(cameraId, cameraInfo); index = mCameraInfoMap.indexOfKey(cameraId); cameraInfo.static_camera_characteristics = m.release(); index = mCameraInfoMap.add(cameraId, cameraInfo); } assert(index != NAME_NOT_FOUND); Loading
services/camera/libcameraservice/common/CameraModule.h +1 −1 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ namespace android { class CameraModule { public: CameraModule(camera_module_t *module); virtual ~CameraModule(); // Must be called after construction // Returns OK on success, NO_INIT on failure Loading Loading @@ -60,7 +61,6 @@ private: camera_module_t *mModule; KeyedVector<int, camera_info> mCameraInfoMap; KeyedVector<int, CameraMetadata> mCameraCharacteristicsMap; Mutex mCameraInfoLock; }; Loading