Loading services/camera/libcameraservice/camera2/CaptureSequencer.cpp +10 −5 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ CaptureSequencer::CaptureSequencer(wp<Camera2Client> client): mNewAEState(false), mNewFrameReceived(false), mNewCaptureReceived(false), mShutterNotified(false), mClient(client), mCaptureState(IDLE), mTriggerId(0), Loading Loading @@ -308,6 +309,7 @@ CaptureSequencer::CaptureState CaptureSequencer::manageStart( } else { nextState = STANDARD_START; } mShutterNotified = false; return nextState; } Loading Loading @@ -342,7 +344,7 @@ CaptureSequencer::CaptureState CaptureSequencer::manageZslStart( SharedParameters::Lock l(client->getParameters()); /* warning: this also locks a SharedCameraClient */ shutterNotifyLocked(l.mParameters, client); mShutterNotified = true; mTimeoutCount = kMaxTimeoutsForCaptureEnd; return STANDARD_CAPTURE_WAIT; } Loading Loading @@ -474,9 +476,6 @@ CaptureSequencer::CaptureState CaptureSequencer::manageStandardCapture( return DONE; } /* warning: this also locks a SharedCameraClient */ shutterNotifyLocked(l.mParameters, client); mTimeoutCount = kMaxTimeoutsForCaptureEnd; return STANDARD_CAPTURE_WAIT; } Loading @@ -493,7 +492,13 @@ CaptureSequencer::CaptureState CaptureSequencer::manageStandardCaptureWait( break; } } while (!mNewCaptureReceived) { if (mNewFrameReceived && !mShutterNotified) { SharedParameters::Lock l(client->getParameters()); /* warning: this also locks a SharedCameraClient */ shutterNotifyLocked(l.mParameters, client); mShutterNotified = true; } while (mNewFrameReceived && !mNewCaptureReceived) { res = mNewCaptureSignal.waitRelative(mInputMutex, kWaitDuration); if (res == TIMED_OUT) { mTimeoutCount--; Loading services/camera/libcameraservice/camera2/CaptureSequencer.h +2 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,8 @@ class CaptureSequencer: sp<MemoryBase> mCaptureBuffer; Condition mNewCaptureSignal; bool mShutterNotified; /** * Internal to CaptureSequencer */ Loading Loading
services/camera/libcameraservice/camera2/CaptureSequencer.cpp +10 −5 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ CaptureSequencer::CaptureSequencer(wp<Camera2Client> client): mNewAEState(false), mNewFrameReceived(false), mNewCaptureReceived(false), mShutterNotified(false), mClient(client), mCaptureState(IDLE), mTriggerId(0), Loading Loading @@ -308,6 +309,7 @@ CaptureSequencer::CaptureState CaptureSequencer::manageStart( } else { nextState = STANDARD_START; } mShutterNotified = false; return nextState; } Loading Loading @@ -342,7 +344,7 @@ CaptureSequencer::CaptureState CaptureSequencer::manageZslStart( SharedParameters::Lock l(client->getParameters()); /* warning: this also locks a SharedCameraClient */ shutterNotifyLocked(l.mParameters, client); mShutterNotified = true; mTimeoutCount = kMaxTimeoutsForCaptureEnd; return STANDARD_CAPTURE_WAIT; } Loading Loading @@ -474,9 +476,6 @@ CaptureSequencer::CaptureState CaptureSequencer::manageStandardCapture( return DONE; } /* warning: this also locks a SharedCameraClient */ shutterNotifyLocked(l.mParameters, client); mTimeoutCount = kMaxTimeoutsForCaptureEnd; return STANDARD_CAPTURE_WAIT; } Loading @@ -493,7 +492,13 @@ CaptureSequencer::CaptureState CaptureSequencer::manageStandardCaptureWait( break; } } while (!mNewCaptureReceived) { if (mNewFrameReceived && !mShutterNotified) { SharedParameters::Lock l(client->getParameters()); /* warning: this also locks a SharedCameraClient */ shutterNotifyLocked(l.mParameters, client); mShutterNotified = true; } while (mNewFrameReceived && !mNewCaptureReceived) { res = mNewCaptureSignal.waitRelative(mInputMutex, kWaitDuration); if (res == TIMED_OUT) { mTimeoutCount--; Loading
services/camera/libcameraservice/camera2/CaptureSequencer.h +2 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,8 @@ class CaptureSequencer: sp<MemoryBase> mCaptureBuffer; Condition mNewCaptureSignal; bool mShutterNotified; /** * Internal to CaptureSequencer */ Loading