本讲是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下来处理 |