diff options
| -rw-r--r-- | camera/device/1.0/default/Android.bp | 9 | ||||
| -rw-r--r-- | camera/device/1.0/default/CameraDevice.cpp | 96 | ||||
| -rw-r--r-- | camera/device/1.0/default/CameraDevice_1_0.h | 9 | ||||
| -rw-r--r-- | camera/provider/2.4/default/Android.bp | 16 | ||||
| -rw-r--r-- | wifi/1.1/default/wifi_status_util.cpp | 4 |
5 files changed, 109 insertions, 25 deletions
diff --git a/camera/device/1.0/default/Android.bp b/camera/device/1.0/default/Android.bp index e0b31f0a4..f98b155cc 100644 --- a/camera/device/1.0/default/Android.bp +++ b/camera/device/1.0/default/Android.bp @@ -32,6 +32,13 @@ cc_library_shared { include_dirs: [ "frameworks/native/include/media/openmax" ], + product_variables: { + aicp: { + uses_qti_camera_device: { + cppflags: ["-DQTI_CAMERA_DEVICE"], + shared_libs: ["vendor.qti.hardware.camera.device@1.0_vendor"], + }, + }, + }, export_include_dirs: ["."] } - diff --git a/camera/device/1.0/default/CameraDevice.cpp b/camera/device/1.0/default/CameraDevice.cpp index a03bbc867..116963b95 100644 --- a/camera/device/1.0/default/CameraDevice.cpp +++ b/camera/device/1.0/default/CameraDevice.cpp @@ -428,30 +428,72 @@ void CameraDevice::sDataCb(int32_t msg_type, const camera_memory_t *data, unsign index, mem->mNumBufs); return; } - if (object->mDeviceCallback != nullptr) { - CameraFrameMetadata hidlMetadata; - if (metadata) { - hidlMetadata.faces.resize(metadata->number_of_faces); - for (size_t i = 0; i < hidlMetadata.faces.size(); i++) { - hidlMetadata.faces[i].score = metadata->faces[i].score; - hidlMetadata.faces[i].id = metadata->faces[i].id; - for (int k = 0; k < 4; k++) { - hidlMetadata.faces[i].rect[k] = metadata->faces[i].rect[k]; - } - for (int k = 0; k < 2; k++) { - hidlMetadata.faces[i].leftEye[k] = metadata->faces[i].left_eye[k]; - } - for (int k = 0; k < 2; k++) { - hidlMetadata.faces[i].rightEye[k] = metadata->faces[i].right_eye[k]; - } - for (int k = 0; k < 2; k++) { - hidlMetadata.faces[i].mouth[k] = metadata->faces[i].mouth[k]; - } - } - } - CameraHeapMemory* mem = static_cast<CameraHeapMemory *>(data->handle); - object->mDeviceCallback->dataCallback( - (DataCallbackMsg) msg_type, mem->handle.mId, index, hidlMetadata); +#ifdef QTI_CAMERA_DEVICE + if(object->mQDeviceCallback != nullptr) { + vendor::qti::hardware::camera::device::V1_0::QCameraFrameMetadata hidlMetadata; + if (metadata) { + hidlMetadata.faces.resize(metadata->number_of_faces); + for (size_t i = 0; i < hidlMetadata.faces.size(); i++) { + hidlMetadata.faces[i].score = metadata->faces[i].score; + hidlMetadata.faces[i].id = metadata->faces[i].id; + for (int k = 0; k < 4; k++) { + hidlMetadata.faces[i].rect[k] = metadata->faces[i].rect[k]; + } + for (int k = 0; k < 2; k++) { + hidlMetadata.faces[i].leftEye[k] = metadata->faces[i].left_eye[k]; + } + for (int k = 0; k < 2; k++) { + hidlMetadata.faces[i].rightEye[k] = metadata->faces[i].right_eye[k]; + } + for (int k = 0; k < 2; k++) { + hidlMetadata.faces[i].mouth[k] = metadata->faces[i].mouth[k]; + } + hidlMetadata.faces[i].smile_degree = metadata->faces[i].smile_degree; + hidlMetadata.faces[i].smile_score = metadata->faces[i].smile_score; + hidlMetadata.faces[i].blink_detected = metadata->faces[i].blink_detected; + hidlMetadata.faces[i].face_recognised = metadata->faces[i].face_recognised; + hidlMetadata.faces[i].gaze_angle = metadata->faces[i].gaze_angle; + hidlMetadata.faces[i].updown_dir = metadata->faces[i].updown_dir; + hidlMetadata.faces[i].leftright_dir = metadata->faces[i].leftright_dir; + hidlMetadata.faces[i].roll_dir = metadata->faces[i].roll_dir; + hidlMetadata.faces[i].left_right_gaze = metadata->faces[i].left_right_gaze; + hidlMetadata.faces[i].top_bottom_gaze = metadata->faces[i].top_bottom_gaze; + hidlMetadata.faces[i].leye_blink = metadata->faces[i].leye_blink; + hidlMetadata.faces[i].reye_blink = metadata->faces[i].reye_blink; + } + } + CameraHeapMemory* mem = static_cast<CameraHeapMemory *>(data->handle); + object->mQDeviceCallback->QDataCallback( + (DataCallbackMsg) msg_type, mem->handle.mId, index, hidlMetadata); + } else { +#endif + if (object->mDeviceCallback != nullptr) { + CameraFrameMetadata hidlMetadata; + if (metadata) { + hidlMetadata.faces.resize(metadata->number_of_faces); + for (size_t i = 0; i < hidlMetadata.faces.size(); i++) { + hidlMetadata.faces[i].score = metadata->faces[i].score; + hidlMetadata.faces[i].id = metadata->faces[i].id; + for (int k = 0; k < 4; k++) { + hidlMetadata.faces[i].rect[k] = metadata->faces[i].rect[k]; + } + for (int k = 0; k < 2; k++) { + hidlMetadata.faces[i].leftEye[k] = metadata->faces[i].left_eye[k]; + } + for (int k = 0; k < 2; k++) { + hidlMetadata.faces[i].rightEye[k] = metadata->faces[i].right_eye[k]; + } + for (int k = 0; k < 2; k++) { + hidlMetadata.faces[i].mouth[k] = metadata->faces[i].mouth[k]; + } + } + } + CameraHeapMemory* mem = static_cast<CameraHeapMemory *>(data->handle); + object->mDeviceCallback->dataCallback( + (DataCallbackMsg) msg_type, mem->handle.mId, index, hidlMetadata); +#ifdef QTI_CAMERA_DEVICE + } +#endif } } @@ -667,6 +709,12 @@ Return<Status> CameraDevice::open(const sp<ICameraDeviceCallback>& callback) { initHalPreviewWindow(); mDeviceCallback = callback; +#ifdef QTI_CAMERA_DEVICE + mQDeviceCallback = vendor::qti::hardware::camera::device::V1_0::IQCameraDeviceCallback::castFrom(callback); + if(mQDeviceCallback == nullptr) { + ALOGI("could not cast ICameraDeviceCallback to IQCameraDeviceCallback"); + } +#endif if (mDevice->ops->set_callbacks) { mDevice->ops->set_callbacks(mDevice, diff --git a/camera/device/1.0/default/CameraDevice_1_0.h b/camera/device/1.0/default/CameraDevice_1_0.h index 2c980f0a8..2b35a730d 100644 --- a/camera/device/1.0/default/CameraDevice_1_0.h +++ b/camera/device/1.0/default/CameraDevice_1_0.h @@ -24,6 +24,9 @@ #include "HandleImporter.h" #include <android/hardware/camera/device/1.0/ICameraDevice.h> +#ifdef QTI_CAMERA_DEVICE +#include <vendor/qti/hardware/camera/device/1.0/IQCameraDeviceCallback.h> +#endif #include <android/hidl/allocator/1.0/IAllocator.h> #include <android/hidl/memory/1.0/IMemory.h> #include <hidl/MQDescriptor.h> @@ -44,6 +47,9 @@ using ::android::hardware::camera::common::V1_0::helper::HandleImporter; using ::android::hardware::camera::device::V1_0::CameraInfo; using ::android::hardware::camera::device::V1_0::CommandType; using ::android::hardware::camera::device::V1_0::ICameraDevice; +#ifdef QTI_CAMERA_DEVICE +using ::vendor::qti::hardware::camera::device::V1_0::IQCameraDeviceCallback; +#endif using ::android::hardware::camera::device::V1_0::ICameraDeviceCallback; using ::android::hardware::camera::device::V1_0::ICameraDevicePreviewCallback; using ::android::hardware::camera::device::V1_0::MemoryId; @@ -164,6 +170,9 @@ private: const SortedVector<std::pair<std::string, std::string>>& mCameraDeviceNames; sp<ICameraDeviceCallback> mDeviceCallback = nullptr; +#ifdef QTI_CAMERA_DEVICE + sp<IQCameraDeviceCallback> mQDeviceCallback = nullptr; +#endif mutable Mutex mMemoryMapLock; // gating access to mMemoryMap // must not hold mLock after this lock is acquired diff --git a/camera/provider/2.4/default/Android.bp b/camera/provider/2.4/default/Android.bp index c0b35912f..21ffb711f 100644 --- a/camera/provider/2.4/default/Android.bp +++ b/camera/provider/2.4/default/Android.bp @@ -24,6 +24,14 @@ cc_library_shared { "libhardware", "libcamera_metadata" ], + product_variables: { + aicp: { + uses_qti_camera_device: { + cppflags: ["-DQTI_CAMERA_DEVICE"], + shared_libs: ["vendor.qti.hardware.camera.device@1.0_vendor"], + }, + }, + }, static_libs: [ "android.hardware.camera.common@1.0-helper" ] @@ -49,4 +57,12 @@ cc_binary { "android.hardware.camera.provider@2.4", "android.hardware.camera.common@1.0", ], + product_variables: { + aicp: { + uses_qti_camera_device: { + cppflags: ["-DQTI_CAMERA_DEVICE"], + shared_libs: ["vendor.qti.hardware.camera.device@1.0_vendor"], + }, + }, + }, } diff --git a/wifi/1.1/default/wifi_status_util.cpp b/wifi/1.1/default/wifi_status_util.cpp index 3a85e0998..26dd5a5de 100644 --- a/wifi/1.1/default/wifi_status_util.cpp +++ b/wifi/1.1/default/wifi_status_util.cpp @@ -92,6 +92,10 @@ WifiStatus createWifiStatusFromLegacyError(legacy_hal::wifi_error error, case legacy_hal::WIFI_ERROR_UNKNOWN: return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN, "unknown"); + default: + const std::string errStr = "errno: " + std::to_string(error) + + " (" + strerror(error) + ")"; + return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN, errStr); } } |
