URO是ChiFeature2UsecaseRequestObject的缩写,FRO是ChiFeature2RequestObject的缩写
1. URO创建的时机点
CameraService送CaptureRequest下来后,这个CaptureRequest会选到一个FG去执行,在执行时会为每个CaptureRequest创建一个URO,具体创建的代码点如下:
AdvancedCameraUsecase::ExecuteCaptureRequest |---->Feature2Wrapper::ExecuteProcessRequest |-------->pUsecaseRequestObject = CreateUsecaseRequestObject(pRequest);
ChiFeature2Graph::ExecuteProcessRequest |---->ChiFeature2Graph::WalkAllExtSinkLinks |-------->ChiFeature2Graph::WalkBackFromLink |------------>ChiFeature2Graph::ProcessUpstreamFeatureRequest |---------------->ChiFeature2RequestObject::Create(&requestObjectCreateInputInfo);
3. Frame Number和URO、FRO中间的关系
一个CaptureRequest对应一个URO,对应N个FRO,也就是说一个CaptureRequest会有一个FG来处理,这个FG可能会包含多个Feature2,每个Feature2都会有一个FRO实例