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

Commit a62a9805 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Camera: Remove redundant RequestThread wait during flush" into tm-dev

parents 5de904dd bb9b93d3
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -2857,6 +2857,7 @@ Camera3Device::RequestThread::RequestThread(wp<Camera3Device> parent,
        mInterface(interface),
        mListener(nullptr),
        mId(getId(parent)),
        mRequestClearing(false),
        mFirstRepeating(false),
        mReconfigured(false),
        mDoPause(false),
@@ -3090,6 +3091,7 @@ status_t Camera3Device::RequestThread::clear(
        *lastFrameNumber = mRepeatingLastFrameNumber;
    }
    mRepeatingLastFrameNumber = hardware::camera2::ICameraDeviceUser::NO_IN_FLIGHT_REPEATING_FRAMES;
    mRequestClearing = true;
    mRequestSignal.signal();
    return OK;
}
@@ -4218,7 +4220,9 @@ sp<Camera3Device::CaptureRequest>
            break;
        }

        if (!mRequestClearing) {
            res = mRequestSignal.waitRelative(mRequestLock, kRequestTimeout);
        }

        if ((mRequestQueue.empty() && mRepeatingRequests.empty()) ||
                exitPending()) {
@@ -4240,6 +4244,7 @@ sp<Camera3Device::CaptureRequest>
                if (parent != nullptr) {
                    parent->mRequestBufferSM.onRequestThreadPaused();
                }
                mRequestClearing = false;
            }
            // Stop waiting for now and let thread management happen
            return NULL;
+2 −0
Original line number Diff line number Diff line
@@ -982,6 +982,8 @@ class Camera3Device :

        Mutex              mRequestLock;
        Condition          mRequestSignal;
        bool               mRequestClearing;

        Condition          mRequestSubmittedSignal;
        RequestList        mRequestQueue;
        RequestList        mRepeatingRequests;