How exactly component loading takes place in openmax?

Hi friends,
I m new to openmax, please suggest me a link or answer for how exactly component load/unload takes place.

Thanks in Advance!!!

Component loading details are left to the implementation. You can use shared libraries to dynamically register and load components or can maintain a static list of registered components (OMX_COMPONENTREGISTERTYPE in the specification) which contains a component initialization function, called for each component instance.

About how to load OpenMax components:

For static link, it is clear and simple.

But for dynamic loading, OpenMax IL 1.1 doesn’t detail it.
In Bellagio source code, it seems to use a registry file, and load the component by its path readed from the registry. the constructor attribute ensure the initialize of the component before completing the loading.
But this means Bellagio IL core can not use the other vendors’ components and Bellagio components can not used by other vendors IL core.

In NEC OMF framework, it requests that all component share librarys should export a function named: OMX_ComponentInit.

Anyway, it is difficult to be compatible in different vendors’ solution, for we has no base implementation, just like the BaseClasses of the direct show

That’s exactly it. Dynamic (component) loading is platform specific, typically using the DLL capabilities of the platform. Dynamic component registration will be core specific, so there may be some integration effort to take components from a vendor to use them with a core from another.

We defined it for the statically linked case, as it was easy. For the dynamic case, it proved impossible to define in a platform independant way.

Thanks,

Roger