mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-02 10:05:19 +00:00
Merge "Camera: Do not forward capture_result in error condition" into pi-dev
am: 99a619059a
Change-Id: Ie32b591772e8f8a2e9fe614ee809c39e51971032
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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:
|
||||
|
||||
|
||||
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user