@ -6325,8 +6325,9 @@ status_t Camera3Device::RequestBufferStateMachine::initialize(
bool Camera3Device : : RequestBufferStateMachine : : startRequestBuffer ( ) {
std : : lock_guard < std : : mutex > lock ( mLock ) ;
if ( mStatus = = RB_STATUS_READY ) {
if ( mStatus = = RB_STATUS_READY | | mStatus = = RB_STATUS_PENDING_STOP ) {
mRequestBufferOngoing = true ;
notifyTrackerLocked ( /*active*/ true ) ;
return true ;
}
return false ;
@ -6342,15 +6343,12 @@ void Camera3Device::RequestBufferStateMachine::endRequestBuffer() {
if ( mStatus = = RB_STATUS_PENDING_STOP ) {
checkSwitchToStopLocked ( ) ;
}
notifyTrackerLocked ( /*active*/ false ) ;
}
void Camera3Device : : RequestBufferStateMachine : : onStreamsConfigured ( ) {
std : : lock_guard < std : : mutex > lock ( mLock ) ;
RequestBufferState oldStatus = mStatus ;
mStatus = RB_STATUS_READY ;
if ( oldStatus ! = RB_STATUS_READY ) {
notifyTrackerLocked ( /*active*/ true ) ;
}
return ;
}
@ -6360,7 +6358,6 @@ void Camera3Device::RequestBufferStateMachine::onRequestSubmitted() {
mInflightMapEmpty = false ;
if ( mStatus = = RB_STATUS_STOPPED ) {
mStatus = RB_STATUS_READY ;
notifyTrackerLocked ( /*active*/ true ) ;
}
return ;
}
@ -6405,7 +6402,6 @@ void Camera3Device::RequestBufferStateMachine::notifyTrackerLocked(bool active)
bool Camera3Device : : RequestBufferStateMachine : : checkSwitchToStopLocked ( ) {
if ( mInflightMapEmpty & & mRequestThreadPaused & & ! mRequestBufferOngoing ) {
mStatus = RB_STATUS_STOPPED ;
notifyTrackerLocked ( /*active*/ false ) ;
return true ;
}
return false ;