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

Commit 9fb3b860 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Camera: Avoid possible deadlock during R&C updates" into tm-dev am: 255c3d90

parents a85d7818 255c3d90
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -1689,12 +1689,15 @@ status_t Camera2Client::commandSetDisplayOrientationL(int degrees) {
                __FUNCTION__, mCameraId, degrees);
        return BAD_VALUE;
    }
    SharedParameters::Lock l(mParameters);
    {
        Mutex::Autolock icl(mRotateAndCropLock);
        if (mRotateAndCropMode != ANDROID_SCALER_ROTATE_AND_CROP_NONE) {
            ALOGI("%s: Rotate and crop set to: %d, skipping display orientation!", __FUNCTION__,
                    mRotateAndCropMode);
            transform = mRotateAndCropPreviewTransform;
        }
    }
    SharedParameters::Lock l(mParameters);
    if (transform != l.mParameters.previewTransform &&
            getPreviewStreamId() != NO_STREAM) {
        mDevice->setStreamTransform(getPreviewStreamId(), transform);
@@ -2317,7 +2320,7 @@ status_t Camera2Client::setRotateAndCropOverride(uint8_t rotateAndCrop) {
    if (rotateAndCrop > ANDROID_SCALER_ROTATE_AND_CROP_AUTO) return BAD_VALUE;

    {
        Mutex::Autolock icl(mBinderSerializationLock);
        Mutex::Autolock icl(mRotateAndCropLock);
        if (mRotateAndCropIsSupported) {
            mRotateAndCropMode = rotateAndCrop;
        } else {
+2 −0
Original line number Diff line number Diff line
@@ -240,6 +240,8 @@ private:
    bool isZslEnabledInStillTemplate();
    // The current rotate & crop mode passed by camera service
    uint8_t mRotateAndCropMode;
    // Synchronize access to 'mRotateAndCropMode'
    mutable Mutex mRotateAndCropLock;
    // Contains the preview stream transformation that would normally be applied
    // when the display rotation is 0
    int mRotateAndCropPreviewTransform;