Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b05dfc8 authored by Zhijun He's avatar Zhijun He
Browse files

Camera3: Remove request from InFlightMap for error case

We don't expect HAL send back valid result metadata if error occurs for a
request, such as during flush call. The request needs to be removed from in
flight request map accordingly.

Bug: 9758581
Change-Id: I51fe327337325ce72f11ce592778a2af02e98479
parent 213ce79e
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1660,8 +1660,10 @@ void Camera3Device::processCaptureResult(const camera3_capture_result *result) {
            return;
        }

        // Check if everything has arrived for this result (buffers and metadata)
        if (request.haveResultMetadata && request.numBuffersLeft == 0) {
        // Check if everything has arrived for this result (buffers and metadata), remove it from
        // InFlightMap if both arrived or HAL reports error for this request (i.e. during flush).
        if ((request.requestStatus != OK) ||
                (request.haveResultMetadata && request.numBuffersLeft == 0)) {
            ATRACE_ASYNC_END("frame capture", frameNumber);
            mInFlightMap.removeItemsAt(idx, 1);
        }