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

Commit 56d78dff authored by Eino-Ville Talvala's avatar Eino-Ville Talvala Committed by Android (Google) Code Review
Browse files

Merge "Camera: Cleanup to prepare() implementation" into mnc-dev

parents 7cf1fe5d 261394e3
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -691,15 +691,10 @@ status_t CameraDeviceClient::prepare(int streamId) {
        return BAD_VALUE;
    }

    // Also returns BAD_VALUE if stream ID was not valid
    // Also returns BAD_VALUE if stream ID was not valid, or stream already
    // has been used
    res = mDevice->prepare(streamId);

    if (res == BAD_VALUE) {
        ALOGE("%s: Camera %d: Unexpected BAD_VALUE when preparing stream, but we"
              " already checked and the stream ID (%d) should be valid.",
              __FUNCTION__, mCameraId, streamId);
    }

    return res;
}

+4 −4
Original line number Diff line number Diff line
@@ -1342,6 +1342,8 @@ status_t Camera3Device::flush(int64_t *frameNumber) {
status_t Camera3Device::prepare(int streamId) {
    ATRACE_CALL();
    ALOGV("%s: Camera %d: Preparing stream %d", __FUNCTION__, mId, streamId);
    Mutex::Autolock il(mInterfaceLock);
    Mutex::Autolock l(mLock);

    sp<Camera3StreamInterface> stream;
    ssize_t outputStreamIdx = mOutputStreams.indexOfKey(streamId);
@@ -1353,14 +1355,12 @@ status_t Camera3Device::prepare(int streamId) {
    stream = mOutputStreams.editValueAt(outputStreamIdx);

    if (stream->isUnpreparable() || stream->hasOutstandingBuffers() ) {
        ALOGE("%s: Camera %d: Stream %d has already been a request target",
                __FUNCTION__, mId, streamId);
        CLOGE("Stream %d has already been a request target", streamId);
        return BAD_VALUE;
    }

    if (mRequestThread->isStreamPending(stream)) {
        ALOGE("%s: Camera %d: Stream %d is already a target in a pending request",
                __FUNCTION__, mId, streamId);
        CLOGE("Stream %d is already a target in a pending request", streamId);
        return BAD_VALUE;
    }