am d152c1c7: am d194f3d6: Merge "Replace CHECK with a failure return value when mCamera->setParameters() fails if the camera is locked by someone else." into gingerbread
Merge commit 'd152c1c7534a80b84f6b389efa8a410ea359b3eb'
* commit 'd152c1c7534a80b84f6b389efa8a410ea359b3eb':
Replace CHECK with a failure return value when mCamera->setParameters() fails
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp
index e3f394c..7d6754b 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.cpp
+++ b/media/libmediaplayerservice/StagefrightRecorder.cpp
@@ -899,7 +899,11 @@
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
@@ -921,6 +925,8 @@
"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;