本讲是Android Camera Native Framework专题的第22讲,我们介绍ICameraDeviceCallbacks.aidl详解。
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
什么是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下来处理 |