这一篇我们开始讲: 相机定屏问题分析一:【配流ConfigStream失败】外屏打开相机视频照片人像来回切换后,相机页面卡死,点击没反应
目录
【关注我,后续持续新增专题博文,谢谢!!!】
我们先看看问题背景
我们看下kernel日志
检测工模情况
继续分析用户态日志
基于日志分析相机流程是否正常
基于上述分析的结论
【关注我,后续持续新增专题博文,谢谢!!!】
可以看到是单机必现问题
1:【操作步骤】外屏打开相机视频照片人像来回切换-观察
2:【实际结果】相机页面卡死,点击没反应
3:【出现次数/测试次数】【Occurrence Times/Test Times】必现
4:【恢复方式】【Recovery Method】无法恢复
单机必现问题,我们优先看下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日志存在报错,怀疑硬件存在问题
1:然后检查工模,发现各个摄像头模组均正常工作
2:排除硬件问题
行 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] -
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接口
1:配流configureSession失败和camera hal无关
2:配流configureSession失败由camera app下发导致,需camera app分析。
3:因此需camera app来分析根因
下一篇讲解: