diff options
author | James Dong <jdong@google.com> | 2010-08-03 15:29:20 -0700 |
---|---|---|
committer | James Dong <jdong@google.com> | 2010-08-03 15:29:20 -0700 |
commit | 48f6ce0e17297c575dcbb25671a7bee80ba13061 (patch) | |
tree | b504aa0ba02ef80fd83ba7dba5e27eea72a10aeb /media/libmediaplayerservice/StagefrightRecorder.cpp | |
parent | 26ab7ab7f543a03b65735a41de8496c54d3e490e (diff) | |
download | frameworks_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/StagefrightRecorder.cpp')
-rw-r--r-- | media/libmediaplayerservice/StagefrightRecorder.cpp | 8 |
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; |