You are on page 1of 2

QCOM OMX PLUGIN

Location : /hardware/qcom/media/msm8998/libstagefrighthw/

struct QComOMXPlugin inherited form parent class OMXPluginBase in public mode.

Function Internal function calls Description


OMXPluginBase new QComOMXPlugin creates omx plugin instance and return's
*createOMXPlugin() that instance.

QComOMXPlugin::QComO mLibHandle(dlopen("libOmxC Dynamically loadded omxcore library.


MXPlugin() ore.so", RTLD_NOW))

mInit(NULL)

mInit =
(InitFunc)dlsym(mLibHandle, Init module is (loadded) and called.
"OMX_Init"); Simillarly mDeinit,
(*mInit)(); mComponentNameEnum,mGetHandle,
mFreeHandle,mGetRolesOfComponentH
andle modules are loadded.

~QComOMXPlugin() (*mDeinit)(); plugin is de-intailized

dlclose(mLibHandle); Dynamic libarary is closed

OMX_ERRORTYPE (*mGetHandle)(...,appData) GetHandle function is called , with


QComOMXPlugin::makeCo appData , component as parameters to
mponentInstance create component instance.

OMX_ERRORTYPE (*mFreeHandle) freeHandle function is called , with


QComOMXPlugin::destroyC (reinterpret_cast<OMX_HAND component as parameters to destroy
omponentInstance LETYPE *>(component) component instance.

QComOMXPlugin::enumer (*mComponentNameEnum) adds name size and index value to


ateComponents (name, size, index) components.

QComOMXPlugin::getRoles (*mGetRolesOfComponentHan based on numRoles


OfComponent dle)
(const_cast<OMX_STRING>(na data is fetched and fetched and pushed
me), &numRoles, NULL); into roles.

You might also like