bool MtkAtvCam1Device:: onUninit() { MY_LOGD("+"); // //-------------------------------------------------------------------------- // (1) Uninitialize Camera Adapter. if ( mpCamAdapter != 0 ) { mpCamAdapter->cancelPicture(); mpCamAdapter->uninit(); mpCamAdapter.clear(); } // //-------------------------------------------------------------------------- // (2) Uninit Base Cam1DeviceBase::onUninit(); //-------------------------------------------------------------------------- // (3) Cloase 3A #if '1'==MTKCAM_HAVE_3A_HAL if ( mp3AHal ) { mp3AHal->destroyInstance(); mp3AHal = NULL; } #endif //MTKCAM_HAVE_3A_HAL //-------------------------------------------------------------------------- // (4) Close Sensor #if '1'==MTKCAM_HAVE_SENSOR_HAL if ( mpSensorHal ) { mpSensorHal->uninit(); mpSensorHal->destroyInstance(); mpSensorHal = NULL; MY_LOGD("SensorHal::destroyInstance()"); } #endif //MTKCAM_HAVE_SENSOR_HAL //-------------------------------------------------------------------------- IResManager* pResManager = IResManager::getInstance(); // if ( pResManager != NULL ) { if(!(pResManager->close("MtkAtvCam1Device"))) { MY_LOGE("pResManager->close fail"); } } // MY_LOGD("-"); return true; }
bool StereoCam1Device:: onUninit() { MY_LOGD("+"); AutoCPTLog cptlog(Event_Hal_DefaultCamDevice_uninit); Utils::CamProfile profile(__FUNCTION__, "StereoCam1Device"); // if( !waitThreadInitDone() ) { MY_LOGE("init in thread failed"); } //-------------------------------------------------------------------------- // (1) Uninit Base { CAM_TRACE_NAME("uninit(base)"); Cam1DeviceBase::onUninit(); profile.print("Cam1DeviceBase::onUninit() -"); } //-------------------------------------------------------------------------- // (2) Close 3A #if '1'==MTKCAM_HAVE_3A_HAL { CAM_TRACE_NAME("uninit(3A)"); CPTLogStr(Event_Hal_DefaultCamDevice_init, CPTFlagSeparator, "3A Hal +"); #ifdef MTK_NATIVE_3D_SUPPORT if ( mpSync3AMgr ) { mpSync3AMgr->uninit(); mpSync3AMgr = NULL; } #endif if ( mpHal3a_Main ) { mpHal3a_Main->destroyInstance(LOG_TAG); mpHal3a_Main = NULL; } if ( mpHal3a_Main2 ) { mpHal3a_Main2->destroyInstance(LOG_TAG); mpHal3a_Main2 = NULL; } profile.print("3A Hal -"); CPTLogStr(Event_Hal_DefaultCamDevice_init, CPTFlagSeparator, "3A Hal -"); } #endif //MTKCAM_HAVE_3A_HAL //-------------------------------------------------------------------------- // (4) Close Sensor #if '1'==MTKCAM_HAVE_SENSOR_HAL { CAM_TRACE_NAME("uninit(sensor)"); CPTLogStr(Event_Hal_DefaultCamDevice_init, CPTFlagSeparator, "Sensor Hal +"); // if(mpHalSensor) { MUINT pIndex[2] = { (MUINT)getOpenId_Main(), (MUINT)getOpenId_Main2() }; mpHalSensor->powerOff(USER_NAME, 2, pIndex); mpHalSensor->destroyInstance(USER_NAME); mpHalSensor = NULL; } MY_LOGD("SensorHal::destroyInstance()"); profile.print("Sensor Hal -"); CPTLogStr(Event_Hal_DefaultCamDevice_init, CPTFlagSeparator, "Sensor Hal -"); } #endif //MTKCAM_HAVE_SENSOR_HAL //-------------------------------------------------------------------------- #if '1'==MTKCAM_HAVE_CAMDRV { CAM_TRACE_NAME("uninit(resource)"); CPTLogStr(Event_Hal_DefaultCamDevice_init, CPTFlagSeparator, "Resource +"); IResManager* pResManager = IResManager::getInstance(); // if ( pResManager != NULL ) { if(!(pResManager->close(USER_NAME))) { MY_LOGE("pResManager->close fail"); } } profile.print("Resource -"); CPTLogStr(Event_Hal_DefaultCamDevice_init, CPTFlagSeparator, "Resource -"); } #endif //MTKCAM_HAVE_CAMDRV //-------------------------------------------------------------------------- // profile.print(""); MY_LOGD("-"); return true; }
bool MtkAtvCam1Device:: onInit() { MY_LOGD("+"); // initCameraProfile(); bool ret = false; int err = 0; // IResManager* pResManager = IResManager::getInstance(); // if ( pResManager != NULL ) { if(!(pResManager->open("MtkAtvCam1Device"))) { MY_LOGE("pResManager->open fail"); goto lbExit; } } // //-------------------------------------------------------------------------- // (1) Open Sensor #if '1'==MTKCAM_HAVE_SENSOR_HAL MY_LOGD("SensorHal::createInstance()"); mpSensorHal = SensorHal::createInstance(); if ( ! mpSensorHal ) { MY_LOGE("SensorHal::createInstance() fail"); goto lbExit; } // err = mpSensorHal->sendCommand(SENSOR_DEV_ATV, SENSOR_CMD_SET_SENSOR_DEV); if ( err ) { mpSensorHal->destroyInstance(); mpSensorHal = NULL; goto lbExit; } err = mpSensorHal->init(); if ( err ) { mpSensorHal->destroyInstance(); mpSensorHal = NULL; MY_LOGE("SensorHal::init() fail"); goto lbExit; } #endif //MTKCAM_HAVE_SENSOR_HAL //-------------------------------------------------------------------------- // (2) Open 3A #if '1'==MTKCAM_HAVE_3A_HAL mp3AHal = NS3A::Hal3ABase::createInstance(SENSOR_DEV_ATV); if ( ! mp3AHal ) { MY_LOGE("Hal3ABase::createInstance() fail"); goto lbExit; } #endif //MTKCAM_HAVE_3A_HAL //-------------------------------------------------------------------------- // (3) Init Base. if ( ! Cam1DeviceBase::onInit() ) { MY_LOGE("Cam1DeviceBase::onInit() fail"); goto lbExit; } // //-------------------------------------------------------------------------- // (4) Initialize Camera Adapter. if ( ! initCameraAdapter() ) { MY_LOGE("NULL Camera Adapter"); goto lbExit; } //-------------------------------------------------------------------------- // ret = true; lbExit: MY_LOGD("- ret(%d)", ret); return ret; }
bool StereoCam1Device:: onInit() { MY_LOGD("+"); { CAM_TRACE_NAME("init(profile)"); initPlatformProfile(); } AutoCPTLog cptlog(Event_Hal_DefaultCamDevice_init); Utils::CamProfile profile(__FUNCTION__, "StereoCam1Device"); // bool ret = false; int err = 0, i4DeviceNum = 0; // String8 const s8MainIdKey("MTK_SENSOR_DEV_MAIN"); String8 const s8Main2IdKey("MTK_SENSOR_DEV_MAIN_2"); Utils::Property::tryGet(s8MainIdKey, mSensorId_Main); Utils::Property::tryGet(s8Main2IdKey, mSensorId_Main2); if ( -1 == getOpenId_Main() || -1 == getOpenId_Main2() ) { MY_LOGE("no dual main sensor"); goto lbExit; } // //-------------------------------------------------------------------------- #if '1'==MTKCAM_HAVE_CAMDRV { CAM_TRACE_NAME("init(resource)"); CPTLogStr(Event_Hal_DefaultCamDevice_init, CPTFlagSeparator, "Resource +"); IResManager* pResManager = IResManager::getInstance(); // if ( pResManager != NULL ) { if(!(pResManager->open(USER_NAME))) { MY_LOGE("pResManager->open fail"); goto lbExit; } } // profile.print("Resource -"); CPTLogStr(Event_Hal_DefaultCamDevice_init, CPTFlagSeparator, "Resource -"); } #endif //MTKCAM_HAVE_CAMDRV //-------------------------------------------------------------------------- { CAM_TRACE_NAME("init(sensor)"); // (0) power on sensor if( pthread_create(&mThreadHandle, NULL, doThreadInit, this) != 0 ) { MY_LOGE("pthread create failed"); goto lbExit; } mbThreadRunning = MTRUE; // // workaround: yuv sensor, 3A depends on sensor power-on if( NSCam::IHalSensorList::get()->queryType( getOpenId_Main() ) == NSCam::NSSensorType::eYUV || NSCam::IHalSensorList::get()->queryType( getOpenId_Main2() ) == NSCam::NSSensorType::eYUV ) { if( !waitThreadInitDone() ) { MY_LOGE("init in thread failed"); goto lbExit; } } } //-------------------------------------------------------------------------- // (1) Open 3A #if '1'==MTKCAM_HAVE_3A_HAL { CAM_TRACE_NAME("init(3A)"); CPTLogStr(Event_Hal_DefaultCamDevice_init, CPTFlagSeparator, "3A Hal +"); #ifdef MTK_NATIVE_3D_SUPPORT mpSync3AMgr = NS3A::ISync3AMgr::getInstance(); if ( ! mpSync3AMgr ) { MY_LOGE("ISync3AMgr::getInstance() fail"); goto lbExit; } if ( ! mpSync3AMgr->init(0, getOpenId_Main(), getOpenId_Main2()) ) { MY_LOGE("mpSync3AMgr->init fail"); goto lbExit; } #endif mpHal3a_Main = NS3A::IHal3A::createInstance( NS3A::IHal3A::E_Camera_1, getOpenId_Main(), LOG_TAG); if ( ! mpHal3a_Main ) { MY_LOGE("IHal3A::createInstance() fail"); goto lbExit; } mpHal3a_Main2 = NS3A::IHal3A::createInstance( NS3A::IHal3A::E_Camera_1, getOpenId_Main2(), LOG_TAG); if ( ! mpHal3a_Main2 ) { MY_LOGE("IHal3A::createInstance() fail: main2"); goto lbExit; } profile.print("3A Hal -"); CPTLogStr(Event_Hal_DefaultCamDevice_init, CPTFlagSeparator, "3A Hal -"); } #endif //MTKCAM_HAVE_3A_HAL //-------------------------------------------------------------------------- { CAM_TRACE_NAME("init(base)"); // (2) Init Base. if ( ! Cam1DeviceBase::onInit() ) { goto lbExit; } } // //-------------------------------------------------------------------------- // ret = true; lbExit: profile.print(""); MY_LOGD("- ret(%d) sensorId(%d,%d)", ret, getOpenId_Main(), getOpenId_Main2()); return ret; }