diff --git a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp index b3c3717c3d..2c020a2797 100644 --- a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp +++ b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp @@ -564,7 +564,7 @@ status_t Camera3OutputStream::getBufferLockedCommon(ANativeWindowBuffer** anb, i // Only transition to STATE_ABANDONED from STATE_CONFIGURED. (If it is STATE_PREPARING, // let prepareNextBuffer handle the error.) - if (res == NO_INIT && mState == STATE_CONFIGURED) { + if ((res == NO_INIT || res == DEAD_OBJECT) && mState == STATE_CONFIGURED) { mState = STATE_ABANDONED; }