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; }