DSP

Android DSP 隨手札 (zt)

2019-07-13 17:10发布

opencore與omx的接口:hardware/ti/omap3/omx/core_plugin/omx_core_plugin/src

使用singleton pattern, 由TIOMXInterface繼承OMXInterface

libOMX_Core.so由ti_omx_interface.cpp開啟

external/opencore/codecs_v2/omx/omx_core_plugins/template/src/pv_omx_interface.cpp的PVOMXInterface為使用OMXInterface的範本

由PVGetInterface()得到真正的物件, 回傳void*, 常見的一種寫法, 之後再轉型

PVOMXInterface繼承於OMXInterface, 標準singleton寫法,由static PVOMXInterface* Instance()得到真正的物件

external/opencore/codecs_v2/omx/下的物件, 皆由PVGetInterface()得到

codecs_v2/omx/下所有的component都繼承於OmxComponentBase

由oscl/oscl/oscllib/src/oscl_shared_library.cpp取得.so檔中的PVGetInterface symbol

由oscl/oscl/oscllib/src/oscl_shared_library.cpp的QueryInterface()取得實際物件