camera flash flow(临时)

kconfig config MSM_CAMERA_FLASH
.config


/kernel/drivers/media/video/msm/Kconfig
    config MSM_CAMERA_FLASH
        bool "Qualcomm MSM camera flash support"
        depends on MSM_CAMERA && !ARCH_MSM8X60
        default n
        ---help---
          Enable support for LED flash for msm camera
试着从这里关掉,结果不成功:( !!



FLOW: from java APP TO DRV

packages/apps/Camera/src/com/android/camera/CameraSettings.java
private void initPreference(PreferenceGroup group) {
    ...
        if (flashMode != null) {
            filterUnsupportedOptions(group,
                    flashMode, mParameters.getSupportedFlashModes());
        }
    ...

frameworks/base/core/java/android/hardware/camera.java
        public List<String> getSupportedFlashModes() {
            String str = get(KEY_FLASH_MODE + SUPPORTED_VALUES_SUFFIX);
            //yue  KEY_FLASH_MODE + SUPPORTED_VALUES_SUFFIX="flash-mode-values"
//            return null;
            Log.e("CAM", "------->getSupportedFlashModes()");
            Log.e("CAM", "str ="+str);
             Log.e("CAM", "RETURN:List<String> ="+split(str));
            return split(str);
        }
frameworks/base/libs/camera/CameraParameters.cpp --->编译到system/lib/libcamera_client.so
    const char CameraParameters::KEY_SUPPORTED_FLASH_MODES[] = "flash-mode-values";

vendor/qcom/android-open/libcamera2/QualcommCameraHardware.cpp--->编译到system/lib/libcamera.so
    void QualcommCameraHardware::initDefaultParameters()
    {   
        ...
        if (mSensorInfo.flash_enabled) {
        mParameters.set(CameraParameters::KEY_FLASH_MODE,
                        CameraParameters::FLASH_MODE_OFF);
        mParameters.set(CameraParameters::KEY_SUPPORTED_FLASH_MODES,
                        flash_values);
        }
        ...
    }

    bool QualcommCameraHardware::startCamera()
    {
     ...
     if (ioctl(mCameraControlFd,
              MSM_CAM_IOCTL_GET_SENSOR_INFO,
              &mSensorInfo) < 0)
        LOGW("%s: cannot retrieve sensor info!", __FUNCTION__);
        else
        LOGI("%s: camsensor name %s, flash %d", __FUNCTION__,
             mSensorInfo.name, mSensorInfo.flash_enabled);
    ...
    }


kernel/drivers/media/video/msm/msm_camera.c--->编译到??????????????system/lib/libcamera.so
    static long msm_ioctl_config(struct file *filep, unsigned int cmd,
        unsigned long arg)
    {
    ...
    switch (cmd) {    
        case MSM_CAM_IOCTL_GET_SENSOR_INFO:
            rc = msm_get_sensor_info(pmsm->sync, argp);
            break;
    ...
    }

    static int msm_get_sensor_info(struct msm_sync *sync, void __user *arg)
    {
        ...
        memcpy(&info.name[0],
            sdata->sensor_name,
            MAX_SENSOR_NAME);
        info.flash_enabled = sdata->flash_data->flash_type !=
            MSM_CAMERA_FLASH_NONE;
        ...
    }


kernel/arch/arm/mach-msm/board-msm7x27-qrd.c--->编译到??????????????system/lib/libcamera.so
    static struct msm_camera_sensor_info msm_camera_sensor_ov2655_data = {
        .sensor_name    = "ov2655",
        .sensor_reset    = 89,
        .sensor_pwd     = 27,
        .vcm_pwd    = 0,
        .vcm_enable     = 0,
        .pdata            = &msm_camera_device_data,
        .flash_data     = &flash_ov2655
    };

    static struct msm_camera_sensor_flash_data flash_ov2655 = {
    //    .flash_type = MSM_CAMERA_FLASH_LED,
        .flash_type = MSM_CAMERA_FLASH_NONE,
        .flash_src    = &msm_flash_src
    //yuebao
    };


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值