1 函数OMX_MasterInit()实现opencore中各个core以及core的组件的注册,初始化。
其中有个变量data指向一个类OMXMasterCoreGlobalData,此类包含了所有组件的信息,如 组件名 ,支持的格式,属于哪个core,已实例化的个数,接口指针等。
函数流程:
2 函数_Try_OMX_MasterInit
参数int32& aError,
OMX_ERRORTYPE& aStatus,
OMXMasterCoreGlobalData *data
仅仅是对函数_OMX_MasterInit()一层简单封装。
3 函数_OMX_MasterInit
参数OMXMasterCoreGlobalData *data,就是前面创建的data
此函数真正实现组件的初始化,其实现分为三步:
1)根据指定的路径读取所有的配置文件(.cfg),在此路径是/system/etc,读取的配置文件是pvplayer.cfg
2)根据OMX_INTERFACE_ID,查找配置文件中列出的so库,
3)调用函数QueryInterface()获取对应ID的接口。
函数流程图:
4 函数OsclSharedLibrary::QueryInterface
参数const OsclUuid& aInterfaceId,输入参数,指定ID此处为OMX_INTERFACE_ID
OsclAny*& aInterfacePtr,作为输出参数,返回库的入口函数
函数流程图: