接着上一篇camera open流程,open camera后就是预览流程
可以通过log看到
可以看到open之后相应的调用流程应该是
initiallze–>construct_default_request_settings -->configure_streams–>processCaptureRequest–>handleCbDataWithLock
- construct_default_request_settings 设置默认的流数据,并不是所有的流数据都是上层下发的, 有一部分是默认的。
- configure_streams
上面这张图明确描述了函数调用流程,为之后的start和request做准备
- processCaptureRequest数据下发和handleCbDataWithLock数据回传,后面会详细介绍
camera preview 重点是preview启动,数据的下发和回传
1. preview 启动
执行顺序
channel->request(stream, output.buffer, frameNumber)分配prev buffer
mRegularChan->start(mFrameNum) ->
SprdCamera3OEMIf::start()->
startPreviewInternal()
数据下发流程如上图channel->request
preview启动流程mRegularChan->start(mFrameNum)
数据回传
总的流程如下图
类似的可以查看拍照流程