Merge "Camera: Do not forward capture_result in error condition" into pi-dev

am: 99a619059a

Change-Id: Ie32b591772e8f8a2e9fe614ee809c39e51971032
This commit is contained in:
Shuzhen Wang
2018-03-12 05:04:43 +00:00
committed by android-build-merger
3 changed files with 16 additions and 11 deletions

View File

@@ -1198,7 +1198,7 @@ Return<void> CameraDeviceSession::close() {
return Void();
}
void CameraDeviceSession::constructCaptureResult(CaptureResult& result,
status_t CameraDeviceSession::constructCaptureResult(CaptureResult& result,
const camera3_capture_result *hal_result) {
uint32_t frameNumber = hal_result->frame_number;
bool hasInputBuf = (hal_result->input_buffer != nullptr);
@@ -1213,7 +1213,7 @@ void CameraDeviceSession::constructCaptureResult(CaptureResult& result,
if (mInflightBuffers.count(key) != 1) {
ALOGE("%s: input buffer for stream %d frame %d is not inflight!",
__FUNCTION__, streamId, frameNumber);
return;
return -EINVAL;
}
}
@@ -1224,7 +1224,7 @@ void CameraDeviceSession::constructCaptureResult(CaptureResult& result,
if (mInflightBuffers.count(key) != 1) {
ALOGE("%s: output buffer for stream %d frame %d is not inflight!",
__FUNCTION__, streamId, frameNumber);
return;
return -EINVAL;
}
}
}
@@ -1344,7 +1344,7 @@ void CameraDeviceSession::constructCaptureResult(CaptureResult& result,
ALOGV("%s: inflight buffer queue is now empty!", __FUNCTION__);
}
}
return OK;
}
/**
@@ -1356,10 +1356,11 @@ void CameraDeviceSession::sProcessCaptureResult(
CameraDeviceSession *d =
const_cast<CameraDeviceSession*>(static_cast<const CameraDeviceSession*>(cb));
CaptureResult result;
d->constructCaptureResult(result, hal_result);
d->mResultBatcher.processCaptureResult(result);
CaptureResult result = {};
status_t ret = d->constructCaptureResult(result, hal_result);
if (ret == OK) {
d->mResultBatcher.processCaptureResult(result);
}
}
void CameraDeviceSession::sNotify(

View File

@@ -327,7 +327,7 @@ protected:
static callbacks_process_capture_result_t sProcessCaptureResult;
static callbacks_notify_t sNotify;
void constructCaptureResult(CaptureResult& result,
status_t constructCaptureResult(CaptureResult& result,
const camera3_capture_result *hal_result);
private:

View File

@@ -450,8 +450,12 @@ void CameraDeviceSession::sProcessCaptureResult_3_4(
CameraDeviceSession *d =
const_cast<CameraDeviceSession*>(static_cast<const CameraDeviceSession*>(cb));
CaptureResult result;
d->constructCaptureResult(result.v3_2, hal_result);
CaptureResult result = {};
status_t ret = d->constructCaptureResult(result.v3_2, hal_result);
if (ret != OK) {
return;
}
result.physicalCameraMetadata.resize(hal_result->num_physcam_metadata);
for (uint32_t i = 0; i < hal_result->num_physcam_metadata; i++) {
std::string physicalId = hal_result->physcam_ids[i];