OpenCore:OMX Core Integration Guide

1)由于opencore中的omx是PV自己做的omx,core和component之间的一些API是"internal, implementation specific, not prescribed by OMX specification”,而且PV可能随时对其更改,所以在向opencore中加入新的组件时必须要提供相应的core。

 

2)这样就要解决多个core的共存问题,PV公司提供了一层封装:MasterCore,最后在生成so库时,有两种方式来添加这层封装:

A:先构建没有封装的so库,再添加封装,最终生成带有封装的so库;

B:同时编译,直接生成带有封装的so库。

 

3)建议在omx中添加API接口:opencore通过此API来获取音视频的相关信息;

OMX_BOOL OMXConfigParser ( OMX_PTR aInputParameters, OMX_PTR aOutputParameters);

 

4)对于生成的so库要在配置文件中注册,格式如下:

    (OMX Core API OsclUuid), “shared library name.so” 
其中UUID为:(0xa054369c,0x22c5,0x412e,0x19,0x17,0x87,0x4c,0x1a,0x19,0xd4,0x5f),唯一确定不可更改;

 

5)输入buffer中如果包含一个frame结尾,则要将flag:OMX_BUFFERFLAG_ENDOFFRAME设置为真,标志一帧的结束;

 

6)帧在buffer中的存储情况:一个buffer中存有:

        a 多个完整的frame;

        b 一个完整的frame;

        c 一个frame的一部分,OMX_BUFFERFLAG_ENDOFFRAME只能在包含frame最后一部分的buffer中设置为真,注意一个buffer只能包含一个frame的一部分。

 

你可能感兴趣的:(c,api,存储,buffer,library)