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

Commit af3f29e6 authored by James Dong's avatar James Dong
Browse files

Replace CHECK with a failure return value when mCamera->setParameters() fails

if the camera is locked by someone else.

bug - 2827892

Change-Id: I217d4a00f04ebd57b557d3faef28787c14f23ea0
parent 6fcf3a51
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -833,7 +833,11 @@ status_t StagefrightRecorder::setupCameraSource() {
    params.setPreviewSize(mVideoWidth, mVideoHeight);
    params.setPreviewFrameRate(mFrameRate);
    String8 s = params.flatten();
    CHECK_EQ(OK, mCamera->setParameters(s));
    if (OK != mCamera->setParameters(s)) {
        LOGE("Could not change settings."
             " Someone else is using camera %d?", mCameraId);
        return -EBUSY;
    }
    CameraParameters newCameraParams(mCamera->getParameters());

    // Check on video frame size
@@ -854,6 +858,8 @@ status_t StagefrightRecorder::setupCameraSource() {
             "frame rate is %d", mFrameRate, frameRate);
    }

    // This CHECK is good, since we just passed the lock/unlock
    // check earlier by calling mCamera->setParameters().
    CHECK_EQ(OK, mCamera->setPreviewDisplay(mPreviewSurface));
    IPCThreadState::self()->restoreCallingIdentity(token);
    return OK;