Loading services/camera/libcameraservice/device3/Camera3Device.cpp +22 −0 Original line number Diff line number Diff line Loading @@ -2802,6 +2802,27 @@ status_t Camera3Device::configureStreamsLocked(int operatingMode, mOperatingMode = operatingMode; } // In case called from configureStreams, abort queued input buffers not belonging to // any pending requests. if (mInputStream != NULL && notifyRequestThread) { while (true) { camera3_stream_buffer_t inputBuffer; status_t res = mInputStream->getInputBuffer(&inputBuffer, /*respectHalLimit*/ false); if (res != OK) { // Exhausted acquiring all input buffers. break; } inputBuffer.status = CAMERA3_BUFFER_STATUS_ERROR; res = mInputStream->returnInputBuffer(inputBuffer); if (res != OK) { ALOGE("%s: %d: couldn't return input buffer while clearing input queue: " "%s (%d)", __FUNCTION__, __LINE__, strerror(-res), res); } } } if (!mNeedConfig) { ALOGV("%s: Skipping config, no stream changes", __FUNCTION__); return OK; Loading Loading @@ -5084,6 +5105,7 @@ status_t Camera3Device::RequestThread::clear( ALOGW("%s: %d: couldn't get input buffer while clearing the request " "list: %s (%d)", __FUNCTION__, __LINE__, strerror(-res), res); } else { inputBuffer.status = CAMERA3_BUFFER_STATUS_ERROR; res = (*it)->mInputStream->returnInputBuffer(inputBuffer); if (res != OK) { ALOGE("%s: %d: couldn't return input buffer while clearing the request " Loading services/camera/libcameraservice/device3/Camera3InputStream.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,8 @@ status_t Camera3InputStream::getInputBufferLocked( res = mConsumer->acquireBuffer(&bufferItem, /*waitForFence*/false); if (res != OK) { ALOGE("%s: Stream %d: Can't acquire next output buffer: %s (%d)", // This may or may not be an error condition depending on caller. ALOGV("%s: Stream %d: Can't acquire next output buffer: %s (%d)", __FUNCTION__, mId, strerror(-res), res); return res; } Loading Loading
services/camera/libcameraservice/device3/Camera3Device.cpp +22 −0 Original line number Diff line number Diff line Loading @@ -2802,6 +2802,27 @@ status_t Camera3Device::configureStreamsLocked(int operatingMode, mOperatingMode = operatingMode; } // In case called from configureStreams, abort queued input buffers not belonging to // any pending requests. if (mInputStream != NULL && notifyRequestThread) { while (true) { camera3_stream_buffer_t inputBuffer; status_t res = mInputStream->getInputBuffer(&inputBuffer, /*respectHalLimit*/ false); if (res != OK) { // Exhausted acquiring all input buffers. break; } inputBuffer.status = CAMERA3_BUFFER_STATUS_ERROR; res = mInputStream->returnInputBuffer(inputBuffer); if (res != OK) { ALOGE("%s: %d: couldn't return input buffer while clearing input queue: " "%s (%d)", __FUNCTION__, __LINE__, strerror(-res), res); } } } if (!mNeedConfig) { ALOGV("%s: Skipping config, no stream changes", __FUNCTION__); return OK; Loading Loading @@ -5084,6 +5105,7 @@ status_t Camera3Device::RequestThread::clear( ALOGW("%s: %d: couldn't get input buffer while clearing the request " "list: %s (%d)", __FUNCTION__, __LINE__, strerror(-res), res); } else { inputBuffer.status = CAMERA3_BUFFER_STATUS_ERROR; res = (*it)->mInputStream->returnInputBuffer(inputBuffer); if (res != OK) { ALOGE("%s: %d: couldn't return input buffer while clearing the request " Loading
services/camera/libcameraservice/device3/Camera3InputStream.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,8 @@ status_t Camera3InputStream::getInputBufferLocked( res = mConsumer->acquireBuffer(&bufferItem, /*waitForFence*/false); if (res != OK) { ALOGE("%s: Stream %d: Can't acquire next output buffer: %s (%d)", // This may or may not be an error condition depending on caller. ALOGV("%s: Stream %d: Can't acquire next output buffer: %s (%d)", __FUNCTION__, mId, strerror(-res), res); return res; } Loading