目录
4、SimpleC2Interface和C2ComponentInterface
1、引言
C2ParamReflector是用来实现参数设置的,其目的在于实现多个接口共享,允许根据需要通过接口添加结构。基本都是实现C2InterfaceHelper接口类。C2InterfaceHelper比较重要,所以我们今天来解析C2InterfaceHelper内部的接口函数和具体的设置流程和查询流程。
C2InterfaceHelper的代码路径如下:
frameworks/av/media/codec2/vndk/include/util
2、C2InterfaceHelper类分析及其继承关系
我们还是先看下C2InterfaceHelper是怎么继承的。下面我先贴出来C2InterfaceHelper的类图
从上面的类图中我们可以看到C2InterfaceHelper内部有这几个类struc ParamRef、class Field、class FiledHelper、struc Param、
class ParamHelper、class ParamBuilder、class Factory还有一个FactoryImpl。特别是FactoryImpl,其继承Factory。其内部维护平台支持的参数。在上图中我以黄色标出*std::map<C2Param::Index, size_t> _mDependencyIndex、std::shared_ptr _mReflector、std::map<C2Param::Index, std::shared_ptr> _mIndexToHelper、std::map<ParamR