diff options
author | Mike J. Chen <mjchen@sta.samsung.com> | 2010-10-29 19:44:41 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-10-29 19:44:41 -0700 |
commit | e92ebc36a3b4b611a42a2ff556c20a97d1faaff6 (patch) | |
tree | 9a86b8dd7413922d31f537c1aa6c31376407d769 /libcamera | |
parent | 6612cbde7f43130569aa59493edb532697592a76 (diff) | |
parent | 54008a32aecb88aed085d0b36ec47e8c8c5ba5e6 (diff) | |
download | device_samsung_crespo-e92ebc36a3b4b611a42a2ff556c20a97d1faaff6.zip device_samsung_crespo-e92ebc36a3b4b611a42a2ff556c20a97d1faaff6.tar.gz device_samsung_crespo-e92ebc36a3b4b611a42a2ff556c20a97d1faaff6.tar.bz2 |
am 54008a32: am b625b09e: S5PC11X: libcamera: fix new CTS failures and use of closed fd
* commit '54008a32aecb88aed085d0b36ec47e8c8c5ba5e6':
S5PC11X: libcamera: fix new CTS failures and use of closed fd
Diffstat (limited to 'libcamera')
-rw-r--r-- | libcamera/SecCamera.cpp | 16 | ||||
-rw-r--r-- | libcamera/SecCameraHWInterface.cpp | 15 |
2 files changed, 20 insertions, 11 deletions
diff --git a/libcamera/SecCamera.cpp b/libcamera/SecCamera.cpp index c336a69..55baef7 100644 --- a/libcamera/SecCamera.cpp +++ b/libcamera/SecCamera.cpp @@ -186,7 +186,7 @@ static int fimc_poll(struct pollfd *events) { int ret; - /* 10 second delay is because sensor can take a long time + /* 10 second delay is because sensor can take a long time * to do auto focus and capture in dark settings */ ret = poll(events, 1, 10000); @@ -859,20 +859,28 @@ void SecCamera::DeinitCamera() m_jpeg_fd = 0; } #endif + +#ifdef DUAL_PORT_RECORDING + stopRecord(); +#endif + + /* close m_cam_fd after stopRecord() because stopRecord() + * uses m_cam_fd to change frame rate + */ LOGE("DeinitCamera: m_cam_fd(%d)", m_cam_fd); if (m_cam_fd > -1) { close(m_cam_fd); m_cam_fd = -1; } -#ifdef DUAL_PORT_RECORDING - stopRecord(); +#ifdef DUAL_PORT_RECORDING LOGE("DeinitCamera: m_cam_fd2(%d)", m_cam_fd2); if (m_cam_fd2 > -1) { close(m_cam_fd2); m_cam_fd2 = -1; } #endif + if (m_cam_fd_temp != -1) { close(m_cam_fd_temp); m_cam_fd_temp = -1; @@ -985,7 +993,7 @@ int SecCamera::startPreview(void) CHECK(ret); #ifdef SWP1_CAMERA_ADD_ADVANCED_FUNCTION - LOGV("%s: get the first frame of the preview\n", __func__); + LOGV("%s: got the first frame of the preview\n", __func__); #endif /* SWP1_CAMERA_ADD_ADVANCED_FUNCTION */ #ifndef SWP1_CAMERA_ADD_ADVANCED_FUNCTION diff --git a/libcamera/SecCameraHWInterface.cpp b/libcamera/SecCameraHWInterface.cpp index fdcb1a3..5b45654 100644 --- a/libcamera/SecCameraHWInterface.cpp +++ b/libcamera/SecCameraHWInterface.cpp @@ -320,8 +320,8 @@ void CameraHardwareSec::initDefaultParameters(int cameraId) p.set(CameraParameters::KEY_FOCAL_LENGTH, "3.43"); } else { - p.set(CameraParameters::KEY_SUPPORTED_PREVIEW_FPS_RANGE, "(7500,15000)"); - p.set(CameraParameters::KEY_PREVIEW_FPS_RANGE, "7500,15000"); + p.set(CameraParameters::KEY_SUPPORTED_PREVIEW_FPS_RANGE, "(7500,30000)"); + p.set(CameraParameters::KEY_PREVIEW_FPS_RANGE, "7500,30000"); p.set(CameraParameters::KEY_FOCAL_LENGTH, "0.9"); } @@ -1087,7 +1087,7 @@ int CameraHardwareSec::pictureThread() mStateLock.lock(); mCaptureInProgress = false; mStateLock.unlock(); - return UNKNOWN_ERROR; + return UNKNOWN_ERROR; } LOGI("snapshotandjpeg done\n"); } @@ -1097,7 +1097,7 @@ int CameraHardwareSec::pictureThread() mStateLock.lock(); mCaptureInProgress = false; mStateLock.unlock(); - return UNKNOWN_ERROR; + return UNKNOWN_ERROR; } jpeg_data = mSecCamera->yuv2Jpeg((unsigned char*)phyAddr, 0, &jpeg_size, @@ -1222,7 +1222,7 @@ PostviewOverlayEnd: LOGV("JpegExifSize=%d", JpegExifSize); if (JpegExifSize < 0) { - return UNKNOWN_ERROR; + return UNKNOWN_ERROR; } unsigned char *ExifStart = (unsigned char *)JpegHeap->base() + 2; @@ -1670,8 +1670,9 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) /* ignore any fps request, we're determine fps automatically based * on scene mode. don't return an error because it causes CTS failure. */ - if (new_frame_rate != 30) { - LOGW("WARN(%s): request for frame rate setting (%d) not allowed\n", __func__, new_frame_rate); + if (new_frame_rate != mParameters.getPreviewFrameRate()) { + LOGW("WARN(%s): request for preview frame %d not allowed, != %d\n", + __func__, new_frame_rate, mParameters.getPreviewFrameRate()); } // rotation |