函数OMX_MasterInit()的实现

来源:互联网 发布:淘宝刷钻助理 编辑:程序博客网 时间:2024/06/15 23:52

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,作为输出参数,返回库的入口函数

函数流程图:

 

原创粉丝点击