相机定屏问题分析三:【配流ConfigStream失败】外屏打开相机视频照片人像来回切换后,相机页面卡死,点击没反应9055522

【关注我,后续持续新增专题博文,谢谢!!!】

        这一篇我们开始讲: 相机定屏问题分析一:【配流ConfigStream失败】外屏打开相机视频照片人像来回切换后,相机页面卡死,点击没反应

目录

【关注我,后续持续新增专题博文,谢谢!!!】

我们先看看问题背景

我们看下kernel日志

检测工模情况

继续分析用户态日志

基于日志分析相机流程是否正常

基于上述分析的结论

【关注我,后续持续新增专题博文,谢谢!!!】


  1. 我们先看看问题背景

    可以看到是单机必现问题

    1:【操作步骤】外屏打开相机视频照片人像来回切换-观察

    2:【实际结果】相机页面卡死,点击没反应

    3:【出现次数/测试次数】【Occurrence Times/Test Times】必现
    4:【恢复方式】【Recovery Method】无法恢复

  2. 我们看下kernel日志

    单机必现问题,我们优先看下kernel日志是否报错

    1:imgsensor 4-0010: [imx709_mipi_raw_22023][get_min_shutter_by_scenario] error: invalid、imgisp7s 15000000.

    2:imgsys_fw: mtk_imgsys_worker_power_on: [ERROR] reg is err or null

    3:可以看到kernel日志存在报错,怀疑硬件存在问题

  3. 检测工模情况

    1:然后检查工模,发现各个摄像头模组均正常工作

    2:排除硬件问题

  4. 继续分析用户态日志

    行 194919: 04-15 09:11:41.258  01697  02204 I mtkcam_hal_aidl_device: [AidlCameraDevice::open] -

    行 195055: 04-15 09:11:41.274  05465  15488 E CameraUnit, ProducerImpl: setApsFinishAddFrame, mbApsFinishAddFrame: true->true

    行 195056: 04-15 09:11:41.274  05465  15488 E CameraUnit, ProducerImpl: setApsStartCaptureWhenStage1, mbApsStartCaptureWhenStage1: false->false

    行 195059: 04-15 09:11:41.275  05465  05649 W OCAM_DeviceProcessor: onCameraOpened, wait for resuming [start]

    行 195060: 04-15 09:11:41.275  05465  05649 W OCAM_DeviceProcessor: onCameraOpened, wait for resuming [end]

    行 195077: 04-15 09:11:41.276  05465  05602 E OCAM_DeviceProcessor: openCamera, preload finish

    行 195119: 04-15 09:11:41.278  05465  05649 E CameraUnit, ProducerImpl: configureSession, operationMode: 32769, hex value: 0x8001, defaultPreviewSize: 1280x960

    行 195240: 04-15 09:11:41.292  01588  01588 I CameraDeviceClient: createStream : stream size is 1280 x 960

    行 195250: 04-15 09:11:41.294  01588  01588 I CameraDeviceClient: createStream : stream size is 1280 x 960

    行 195260: 04-15 09:11:41.297  01588  01588 I CameraDeviceClient: createStream : stream size is 4096 x 3072

    行 195275: 04-15 09:11:41.300  01588  01588 I CameraDeviceClient: createStream : stream size is 1440 x 1080

    行 195297: 04-15 09:11:41.303  01588  01588 I CameraDeviceClient: createStream : stream size is 4096 x 3072

    行 195305: 04-15 09:11:41.305  01588  01588 I CameraDeviceClient: createStream : stream size is 1440 x 1080

    行 195321: 04-15 09:11:41.307  01588  01588 I CameraDeviceClient: createStream : stream size is 1280 x 960

    行 195333: 04-15 09:11:41.309  01588  01588 I CameraDeviceClient: createStream : stream size is 1280 x 960

    行 195344: 04-15 09:11:41.311  01588  01588 I CameraDeviceClient: createStream : stream size is 960 x 720

    行 195353: 04-15 09:11:41.314  01588  01588 I CameraDeviceClient: createStream : stream size is 960 x 720

    行 195380: 04-15 09:11:41.316  01588  01588 I CameraDeviceClient: createStream : stream size is 4096 x 3072

    行 195391: 04-15 09:11:41.319  01588  01588 I CameraDeviceClient: createStream : stream size is 1440 x 1080

    行 195401: 04-15 09:11:41.321  01588  01588 I CameraDeviceClient: createStream : stream size is 960 x 720

    行 195402: 04-15 09:11:41.321  01588  01588 W CameraDeviceClient: createStream: Camera 3: Surface already has a stream created for it (ID 7)

                04-15 09:11:41.322  05465  15488 E CameraCaptureSession: Session 0: Failed to create capture session; configuration failed

    行 195410: 04-15 09:11:41.322  05465  15490 E CameraUnit, ProducerImpl: onSessionConfigureFail, error result: [error code: 10002, error info: stream surface error]

    行 205766: 04-15 09:11:59.305  05465  05465 W OCAM_DeviceProcessor: onPause.

    行 205767: 04-15 09:11:59.305  05465  05465 W OCAM_DeviceProcessor: closeCamera

    行 205804: 04-15 09:11:59.308  01697  02204 I mtkcam_hal_aidl_device: [3-aidl-session::flush] +

    行 205823: 04-15 09:11:59.309  01697  02204 I mtkcam_hal_aidl_device: [3-aidl-session::flush] -

    行 205832: 04-15 09:11:59.310  01697  02204 I mtkcam_hal_aidl_device: [3-aidl-session::close] +

    行 206066: 04-15 09:11:59.329  01697  02204 I mtkcam_hal_aidl_device: [3-aidl-session::close] -

  5. 基于日志分析相机流程是否正常

    1:open camera相机流程正常

    2:配流configureSession发现cameraserver createStream了很多个,且很多是重复的。

    3:cameraserver fwk层就已经报错了:createStream: Camera 3: Surface already has a stream created for it (ID 7)

    4:接着camera app报错:Failed to create capture session; configuration failed

    5:发现配流configureSession并没有调用camera hal接口

  6. 基于上述分析的结论

    1:配流configureSession失败和camera hal无关

    2:配流configureSession失败由camera app下发导致,需camera app分析。

    3:因此需camera app来分析根因

【关注我,后续持续新增专题博文,谢谢!!!】

下一篇讲解:

你可能感兴趣的:(camera定屏问题,数码相机,android,相机)