Loading services/camera/libcameraservice/aidl/AidlCameraDeviceUser.cpp +10 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include "AidlCameraDeviceUser.h" #include <aidl/AidlUtils.h> #include <aidl/android/frameworks/cameraservice/device/CaptureMetadataInfo.h> #include <android-base/properties.h> namespace android::frameworks::cameraservice::device::implementation { Loading @@ -35,7 +36,7 @@ using ::android::hardware::cameraservice::utils::conversion::aidl::cloneFromAidl using ::android::hardware::cameraservice::utils::conversion::aidl::cloneToAidl; using ::android::hardware::cameraservice::utils::conversion::aidl::convertFromAidl; using ::android::hardware::cameraservice::utils::conversion::aidl::convertToAidl; using ::android::hardware::cameraservice::utils::conversion::aidl::convertToAidl; using ::android::hardware::cameraservice::utils::conversion::aidl::filterVndkKeys; using ::ndk::ScopedAStatus; namespace { Loading @@ -55,6 +56,7 @@ inline ScopedAStatus fromUStatus(const UStatus& status) { AidlCameraDeviceUser::AidlCameraDeviceUser(const sp<UICameraDeviceUser>& deviceRemote): mDeviceRemote(deviceRemote) { mInitSuccess = initDevice(); mVndkVersion = base::GetIntProperty("ro.vndk.version", __ANDROID_API_FUTURE__); } bool AidlCameraDeviceUser::initDevice() { Loading Loading @@ -171,6 +173,13 @@ ndk::ScopedAStatus AidlCameraDeviceUser::createDefaultRequest(STemplateId in_tem ALOGE("%s: Failed to create default request: %s", __FUNCTION__, ret.toString8().string()); return fromUStatus(ret); } if (filterVndkKeys(mVndkVersion, metadata, /*isStatic*/false) != OK) { ALOGE("%s: Unable to filter vndk metadata keys for version %d", __FUNCTION__, mVndkVersion); return fromSStatus(SStatus::UNKNOWN_ERROR); } const camera_metadata_t* rawMetadata = metadata.getAndLock(); cloneToAidl(rawMetadata, _aidl_return); metadata.unlock(rawMetadata); Loading services/camera/libcameraservice/aidl/AidlCameraDeviceUser.h +1 −0 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ class AidlCameraDeviceUser final : public SBnCameraDeviceUser { std::shared_ptr<CaptureResultMetadataQueue> mCaptureResultMetadataQueue = nullptr; bool mInitSuccess = false; int32_t mRequestId = REQUEST_ID_NONE; int mVndkVersion = -1; }; } // namespace android::frameworks::cameraservice::device::implementation Loading services/camera/libcameraservice/hidl/HidlCameraDeviceUser.cpp +13 −1 Original line number Diff line number Diff line Loading @@ -19,10 +19,12 @@ #include <gui/Surface.h> #include <gui/bufferqueue/1.0/H2BGraphicBufferProducer.h> #include <aidl/AidlUtils.h> #include <hidl/AidlCameraDeviceCallbacks.h> #include <hidl/HidlCameraDeviceUser.h> #include <hidl/Utils.h> #include <android/hardware/camera/device/3.2/types.h> #include <android-base/properties.h> namespace android { namespace frameworks { Loading @@ -31,6 +33,7 @@ namespace device { namespace V2_1 { namespace implementation { using hardware::cameraservice::utils::conversion::aidl::filterVndkKeys; using hardware::cameraservice::utils::conversion::convertToHidl; using hardware::cameraservice::utils::conversion::convertFromHidl; using hardware::cameraservice::utils::conversion::B2HStatus; Loading @@ -55,6 +58,7 @@ HidlCameraDeviceUser::HidlCameraDeviceUser( const sp<hardware::camera2::ICameraDeviceUser> &deviceRemote) : mDeviceRemote(deviceRemote) { mInitSuccess = initDevice(); mVndkVersion = base::GetIntProperty("ro.vndk.version", __ANDROID_API_FUTURE__); } bool HidlCameraDeviceUser::initDevice() { Loading Loading @@ -235,8 +239,16 @@ Return<void> HidlCameraDeviceUser::createDefaultRequest(TemplateId templateId, android::CameraMetadata cameraMetadata; binder::Status ret = mDeviceRemote->createDefaultRequest(convertFromHidl(templateId), &cameraMetadata); HStatus hStatus = B2HStatus(ret); HCameraMetadata hidlMetadata; if (filterVndkKeys(mVndkVersion, cameraMetadata, /*isStatic*/false) != OK) { ALOGE("%s: Unable to filter vndk metadata keys for version %d", __FUNCTION__, mVndkVersion); _hidl_cb(HStatus::UNKNOWN_ERROR, hidlMetadata); return Void(); } HStatus hStatus = B2HStatus(ret); const camera_metadata_t *rawMetadata = cameraMetadata.getAndLock(); convertToHidl(rawMetadata, &hidlMetadata); _hidl_cb(hStatus, hidlMetadata); Loading services/camera/libcameraservice/hidl/HidlCameraDeviceUser.h +1 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,7 @@ struct HidlCameraDeviceUser final : public HCameraDeviceUser { std::shared_ptr<CaptureResultMetadataQueue> mCaptureResultMetadataQueue = nullptr; bool mInitSuccess = false; int32_t mRequestId = REQUEST_ID_NONE; int mVndkVersion = -1; }; } // implementation Loading Loading
services/camera/libcameraservice/aidl/AidlCameraDeviceUser.cpp +10 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include "AidlCameraDeviceUser.h" #include <aidl/AidlUtils.h> #include <aidl/android/frameworks/cameraservice/device/CaptureMetadataInfo.h> #include <android-base/properties.h> namespace android::frameworks::cameraservice::device::implementation { Loading @@ -35,7 +36,7 @@ using ::android::hardware::cameraservice::utils::conversion::aidl::cloneFromAidl using ::android::hardware::cameraservice::utils::conversion::aidl::cloneToAidl; using ::android::hardware::cameraservice::utils::conversion::aidl::convertFromAidl; using ::android::hardware::cameraservice::utils::conversion::aidl::convertToAidl; using ::android::hardware::cameraservice::utils::conversion::aidl::convertToAidl; using ::android::hardware::cameraservice::utils::conversion::aidl::filterVndkKeys; using ::ndk::ScopedAStatus; namespace { Loading @@ -55,6 +56,7 @@ inline ScopedAStatus fromUStatus(const UStatus& status) { AidlCameraDeviceUser::AidlCameraDeviceUser(const sp<UICameraDeviceUser>& deviceRemote): mDeviceRemote(deviceRemote) { mInitSuccess = initDevice(); mVndkVersion = base::GetIntProperty("ro.vndk.version", __ANDROID_API_FUTURE__); } bool AidlCameraDeviceUser::initDevice() { Loading Loading @@ -171,6 +173,13 @@ ndk::ScopedAStatus AidlCameraDeviceUser::createDefaultRequest(STemplateId in_tem ALOGE("%s: Failed to create default request: %s", __FUNCTION__, ret.toString8().string()); return fromUStatus(ret); } if (filterVndkKeys(mVndkVersion, metadata, /*isStatic*/false) != OK) { ALOGE("%s: Unable to filter vndk metadata keys for version %d", __FUNCTION__, mVndkVersion); return fromSStatus(SStatus::UNKNOWN_ERROR); } const camera_metadata_t* rawMetadata = metadata.getAndLock(); cloneToAidl(rawMetadata, _aidl_return); metadata.unlock(rawMetadata); Loading
services/camera/libcameraservice/aidl/AidlCameraDeviceUser.h +1 −0 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ class AidlCameraDeviceUser final : public SBnCameraDeviceUser { std::shared_ptr<CaptureResultMetadataQueue> mCaptureResultMetadataQueue = nullptr; bool mInitSuccess = false; int32_t mRequestId = REQUEST_ID_NONE; int mVndkVersion = -1; }; } // namespace android::frameworks::cameraservice::device::implementation Loading
services/camera/libcameraservice/hidl/HidlCameraDeviceUser.cpp +13 −1 Original line number Diff line number Diff line Loading @@ -19,10 +19,12 @@ #include <gui/Surface.h> #include <gui/bufferqueue/1.0/H2BGraphicBufferProducer.h> #include <aidl/AidlUtils.h> #include <hidl/AidlCameraDeviceCallbacks.h> #include <hidl/HidlCameraDeviceUser.h> #include <hidl/Utils.h> #include <android/hardware/camera/device/3.2/types.h> #include <android-base/properties.h> namespace android { namespace frameworks { Loading @@ -31,6 +33,7 @@ namespace device { namespace V2_1 { namespace implementation { using hardware::cameraservice::utils::conversion::aidl::filterVndkKeys; using hardware::cameraservice::utils::conversion::convertToHidl; using hardware::cameraservice::utils::conversion::convertFromHidl; using hardware::cameraservice::utils::conversion::B2HStatus; Loading @@ -55,6 +58,7 @@ HidlCameraDeviceUser::HidlCameraDeviceUser( const sp<hardware::camera2::ICameraDeviceUser> &deviceRemote) : mDeviceRemote(deviceRemote) { mInitSuccess = initDevice(); mVndkVersion = base::GetIntProperty("ro.vndk.version", __ANDROID_API_FUTURE__); } bool HidlCameraDeviceUser::initDevice() { Loading Loading @@ -235,8 +239,16 @@ Return<void> HidlCameraDeviceUser::createDefaultRequest(TemplateId templateId, android::CameraMetadata cameraMetadata; binder::Status ret = mDeviceRemote->createDefaultRequest(convertFromHidl(templateId), &cameraMetadata); HStatus hStatus = B2HStatus(ret); HCameraMetadata hidlMetadata; if (filterVndkKeys(mVndkVersion, cameraMetadata, /*isStatic*/false) != OK) { ALOGE("%s: Unable to filter vndk metadata keys for version %d", __FUNCTION__, mVndkVersion); _hidl_cb(HStatus::UNKNOWN_ERROR, hidlMetadata); return Void(); } HStatus hStatus = B2HStatus(ret); const camera_metadata_t *rawMetadata = cameraMetadata.getAndLock(); convertToHidl(rawMetadata, &hidlMetadata); _hidl_cb(hStatus, hidlMetadata); Loading
services/camera/libcameraservice/hidl/HidlCameraDeviceUser.h +1 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,7 @@ struct HidlCameraDeviceUser final : public HCameraDeviceUser { std::shared_ptr<CaptureResultMetadataQueue> mCaptureResultMetadataQueue = nullptr; bool mInitSuccess = false; int32_t mRequestId = REQUEST_ID_NONE; int mVndkVersion = -1; }; } // implementation Loading