summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2010-08-03 15:29:20 -0700
committerJames Dong <jdong@google.com>2010-08-03 15:29:20 -0700
commit48f6ce0e17297c575dcbb25671a7bee80ba13061 (patch)
treeb504aa0ba02ef80fd83ba7dba5e27eea72a10aeb /media/libmediaplayerservice
parent26ab7ab7f543a03b65735a41de8496c54d3e490e (diff)
downloadframeworks_av-48f6ce0e17297c575dcbb25671a7bee80ba13061.zip
frameworks_av-48f6ce0e17297c575dcbb25671a7bee80ba13061.tar.gz
frameworks_av-48f6ce0e17297c575dcbb25671a7bee80ba13061.tar.bz2
Replace CHECK with a failure return value when mCamera->setParameters() fails
if the camera is locked by someone else. bug - 2827892 Change-Id: I217d4a00f04ebd57b557d3faef28787c14f23ea0
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/StagefrightRecorder.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp
index c40d285..dfddae0 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.cpp
+++ b/media/libmediaplayerservice/StagefrightRecorder.cpp
@@ -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;