前文回顾
上一篇文章,简单讲述process_capture_request的过程
一、 notify 流程
1.1 原文解析
* 9. When the capture of a request begins (sensor starts exposing for the
* capture) or processing a reprocess request begins, the HAL
* calls camera3_callback_ops_t->notify() with the SHUTTER event, including
* the frame number and the timestamp for start of exposure. For a reprocess
* request, the timestamp must be the start of exposure of the input image
* which can be looked up with android.sensor.timestamp from
* camera3_capture_request_t.settings when process_capture_request() is
* called.
*
* <= CAMERA_DEVICE_API_VERSION_3_1:
*
* This notify call must be made before the first call to
* process_capture_result() for that frame number.9、通知&处理Capture请求:在开始捕获请求时(Sensor开始暴露于 Capture)或者开始处理重处理请求时,HAL使用SHUTTER事件和包括帧号和开始曝光的时间戳,调用结构体3.3camera3_callback_ops_t-> notify()。 对于重新处理请求,时间戳必须是输入图像曝光的开始,当调用process_capture_request()后,查看时间戳在camera3_capture_request_t.settings中android.sensor.timestamp。
API3.1-> 对于同帧率来说,来自Hal的结构体3.3camera3_callback_ops的notify()方法必须在 process_capture_result()之前调用
API3.2-> 对于带有SHUTTER事件的camera3_callback_ops_t-> notify()应该尽快调用,因为framework具有有效的时间戳记以开始曝光( 或针对重新处理请求的输入图像的曝光开始)才能将为应用程序层(针对该帧)传递gralloc缓冲区。
1.2 官网文档
暂无
1.3 代码分析
//TODO,喝口水,远眺下,继续撸代码