第22讲 ICameraDeviceCallbacks.aidl详解

2024年11月03日 第22讲 ICameraDeviceCallbacks aidl详解 极客笔记

本讲是Android Camera Native Framework专题的第22讲,我们介绍ICameraDeviceCallbacks.aidl详解。

更多资源:

资源 描述
在线课程 极客笔记在线课程
知识星球 星球名称:深入浅出Android Camera 星球ID: 17296815
Wechat 极客笔记圈

什么是ICameraDeviceCallbacks

ICameraDeviceCallbacks是ICameraDeviceUser的回调类,通知App

  • Camera Device的状态
  • 每一个Capture Request的状态以及回调CaptureResult

ICameraDeviceCallbacks类图

ICameraDeviceCallbacks.aidl接口详解

ICameraDeviceCallbacks API Description
oneway void onPrepared(int streamId) prepare/prepare2的回调函数,说明执行streamId的Stream已经prepare完成
oneway void onCaptureStarted( in CaptureResultExtras resultExtras, long timestamp); 通知App,Camera HAL开始处理一个CaptureRequest, 其中resultExtras存放的sequenceId,frameNumber等信息;timestamp是start of exposure的时间点。
oneway void onResultReceived( in CameraMetadataNative result, in CaptureResultExtras resultExtras, in PhysicalCaptureResultInfo[] physicalCaptureResultInfos); 通知App,Camera HAL处理这个Request的进度,Camera Java FW会根据isPartialResult来调用onCaptureProgressed/onCaptureCompleted
oneway void onRepeatingRequestError( in long lastFrameNumber, in int repeatingRequestId); CameraServer检查发现repeating request里面的Surface出现Abandon了,通过该回调通知给App,通知停止repeating动作
oneway void onRequestQueueEmpty(); CameraServer的Repeating的Request Queue队列为空,通知给App
oneway void onDeviceError( int errorCode, in CaptureResultExtras resultExtras) 通知Camera App,Camera Device出现error,具体的error在errorCode里面描述
oneway void onDeviceIdle(); CameraDevice已经处理完所有的Request(Buffer都已收到),Camera Device处于IDLE状态了,等待App送CaptureRequest下来处理

本文链接:http://so.lmcjl.com/news/16874/

展开阅读全文