Merge "Replace CHECK with a failure return value when mCamera->setParameters() fails if the camera is locked by someone else." into gingerbread

This commit is contained in:
James Dong
2010-08-03 15:54:32 -07:00
committed by Android (Google) Code Review

View File

@@ -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;