|
|
|
@ -170,6 +170,7 @@ NdkCamera::NdkCamera(int32_t width, int32_t height, const NdkCamera::CAMERA_PARA
|
|
|
|
|
awbMode = ACAMERA_CONTROL_AWB_MODE_AUTO;
|
|
|
|
|
aeLockAvailable = false;
|
|
|
|
|
awbLockAvailable = false;
|
|
|
|
|
m_fatalError = false;
|
|
|
|
|
|
|
|
|
|
sceneModeSupported = false;
|
|
|
|
|
|
|
|
|
@ -654,6 +655,10 @@ int NdkCamera::open(const std::string& cameraId) {
|
|
|
|
|
status = ACameraManager_openCamera(camera_manager, cameraId.c_str(), &camera_device_state_callbacks, &camera_device);
|
|
|
|
|
if (status != ACAMERA_OK)
|
|
|
|
|
{
|
|
|
|
|
if (status == ACAMERA_ERROR_MAX_CAMERA_IN_USE)
|
|
|
|
|
{
|
|
|
|
|
m_fatalError = true;
|
|
|
|
|
}
|
|
|
|
|
XYLOG(XYLOG_SEVERITY_ERROR, "Failed to open camera %s res=%d", cameraId.c_str(), status);
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
@ -1160,6 +1165,21 @@ void NdkCamera::close()
|
|
|
|
|
XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::try close %s", mCameraId.c_str());
|
|
|
|
|
camera_status_t res = ACAMERA_OK;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
if (mPreviewImageReader != NULL)
|
|
|
|
|
{
|
|
|
|
|
AImageReader_setImageListener(mPreviewImageReader, NULL);
|
|
|
|
|
}
|
|
|
|
|
if (mImageReader != NULL)
|
|
|
|
|
{
|
|
|
|
|
AImageReader_setImageListener(mImageReader, NULL);
|
|
|
|
|
}
|
|
|
|
|
if (mImageReader2 != NULL)
|
|
|
|
|
{
|
|
|
|
|
AImageReader_setImageListener(mImageReader2, NULL);
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
mCaptureFrames.clear();
|
|
|
|
|
|
|
|
|
|
if ((ACameraManager *)camera_manager != NULL)
|
|
|
|
@ -1211,7 +1231,7 @@ void NdkCamera::close()
|
|
|
|
|
|
|
|
|
|
if (mPreviewImageReader != NULL)
|
|
|
|
|
{
|
|
|
|
|
// AImageReader_setImageListener(image_reader, NULL);
|
|
|
|
|
AImageReader_setImageListener(mPreviewImageReader, NULL);
|
|
|
|
|
//XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::AImageReader_delete %s", mCameraId.c_str());
|
|
|
|
|
AImageReader_delete(mPreviewImageReader);
|
|
|
|
|
//XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::End AImageReader_delete %s", mCameraId.c_str());
|
|
|
|
@ -1233,7 +1253,7 @@ void NdkCamera::close()
|
|
|
|
|
|
|
|
|
|
if (mImageReader != NULL)
|
|
|
|
|
{
|
|
|
|
|
// AImageReader_setImageListener(image_reader, NULL);
|
|
|
|
|
AImageReader_setImageListener(mImageReader, NULL);
|
|
|
|
|
//XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::AImageReader_delete %s", mCameraId.c_str());
|
|
|
|
|
AImageReader_delete(mImageReader);
|
|
|
|
|
//XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::End AImageReader_delete %s", mCameraId.c_str());
|
|
|
|
@ -1255,7 +1275,7 @@ void NdkCamera::close()
|
|
|
|
|
|
|
|
|
|
if (mImageReader2 != NULL)
|
|
|
|
|
{
|
|
|
|
|
// AImageReader_setImageListener(image_reader, NULL);
|
|
|
|
|
AImageReader_setImageListener(mImageReader2, NULL);
|
|
|
|
|
//XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::AImageReader_delete %s", mCameraId.c_str());
|
|
|
|
|
AImageReader_delete(mImageReader2);
|
|
|
|
|
//XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::End AImageReader_delete %s", mCameraId.c_str());
|
|
|
|
@ -1327,7 +1347,7 @@ void NdkCamera::onImageAvailable(AImageReader* reader)
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// if (mLdr == ~0)
|
|
|
|
|
if (!mCaptureTriggered)
|
|
|
|
|
{
|
|
|
|
|
uint8_t* y_data = 0;
|
|
|
|
|
int y_len = 0;
|
|
|
|
|