Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 639ed120 authored by Shuzhen Wang's avatar Shuzhen Wang
Browse files

Camera: VNDK: Fix deferred endConfigure due to missing sessionParam

In case the app doesn't provide sessionParameters, the VNDK should still
allow endConfigure() to be called to the camera service.

Test: Run test app and observe camera streams properly
Bug: 120505813
Change-Id: Ifa72dca61b8e25cd433d2c02c70b1c8e5e097228
parent f4a342ab
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -754,8 +754,8 @@ CameraDevice::configureStreamsLocked(const ACaptureSessionOutputContainer* outpu
        const camera_metadata_t *params_metadata = params.getAndLock();
        utils::convertToHidl(params_metadata, &hidlParams);
        params.unlock(params_metadata);
        remoteRet = mRemote->endConfigure(StreamConfigurationMode::NORMAL_MODE, hidlParams);
    }
    remoteRet = mRemote->endConfigure(StreamConfigurationMode::NORMAL_MODE, hidlParams);
    if (!remoteRet.isOk()) {
        ALOGE("Transaction error: endConfigure failed %s", remoteRet.description().c_str());
    }
+8 −6
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ hardware::camera2::params::OutputConfiguration convertFromHidl(
bool convertFromHidl(const HCameraMetadata &src, CameraMetadata *dst) {
    const camera_metadata_t *buffer = reinterpret_cast<const camera_metadata_t*>(src.data());
    size_t expectedSize = src.size();
    if (buffer != nullptr) {
        int res = validate_camera_metadata_structure(buffer, &expectedSize);
        if (res == OK || res == CAMERA_METADATA_VALIDATION_SHIFTED) {
            *dst = buffer;
@@ -108,6 +109,7 @@ bool convertFromHidl(const HCameraMetadata &src, CameraMetadata *dst) {
            ALOGE("%s: Malformed camera metadata received from HAL", __FUNCTION__);
            return false;
        }
    }
    return true;
}