Hi Anupama, I can't explain more because I never do the job. I use OpenMax codec but not inside OpenCore player. I am sure that any OMX component must come with the functions defined inside OMX_Core.h :
Init() Deinit() ComponentNameEnum() GetHandle() FreeHandle() GetComponentsOfRole() GetRolesOfComponent() SetupTunnel() GetContentPipe() Then your OMX component can have several codec. Your modification must not change OpenCore code. Once you created your new OMX component you just have to indicate it to OpenCore with .cfg. Good luck, Jean-François On Nov 2, 9:25 am, anupama <[email protected]> wrote: > Hi Jean, > > According to your suggestion I have gone through pv_mastercore.cpp > file, yes this > is the place where all the OMX components are registered. > > Now my understanding is, to integrate my own codec I have to create > libmy_omx.so > using the static libs libomx_common_lib ,libomx_queue_lib , > libpvomx_proxy_lib ,libomx_baseclass_lib and > libpv_omx_interface. > > I had gone through the OMX Core Integartion Guide and there it is > mentioned that vendors should not attempt to > integrate isolated OMX components (without the accompanying OMX core) > into the existing PV > OMX core – due to specialized APIs and communication between the PV > OMX core and PV > OMX components. > > So now my doubt is, Do I have to create my own libomx_mycommon_lib by > rewritting the files > pv_omxcore.cpp ,pv_omx_config_parser.cpp ,pv_omxregistry.cpp which are > involved in creating libomx_common_lib? > > Please clarify. > > Thanks, > Anupama > > On Oct 28, 3:27 pm, Jean-François Vidal <[email protected]> > wrote: > > > Hi Anupama, > > > I look the code and unfortunately no. It seems the file /external/ > > opencore/codecs_v2/omx/omx_core_plugins/template/src/ > > pv_omx_interface.cpp is only an exemple, it is not build on G1. I > > think the place where OMX componnent library are registred is external/ > > opencore/codecs_v2/omx/omx_mastercore/src/pv_omxmastercore.cpp > > > This code look inside all *.cfg file in /system/etc/ if a shared > > library have OMX_INTERFACE_ID. If yes it register the interface inside > > opencore player. The interface should have the same structure that > > external/opencore/codecs_v2/omx/omx_core_plugins/template/src/ > > pv_omx_interface.cpp (exemple) or external/opencore/codecs_v2/omx/ > > omx_sharedlibrary/interface/src/pv_omx_interface.cpp (PV OMX > > software). > > > I didn't do this job but I should do > > 1)create an interface like pv_omx_interface.cpp for my new OMX > > componnent and create libmy_omx.so. This is equivalent to /vendor/qcom/ > > android-open/pvomx/proprietary/libqcomm_omx.so on G1 > > > 2)create a config file with OMX_INTERFACE_ID like my_omx.cfg. It > > should contain > > > (0xa054369c,0x22c5,0x412e,0x19,0x17,0x87,0x4c,0x1a, > > 0x19,0xd4,0x5f),"libmy_omx.so" > > > 3)put everything in your filesystem and wait crash ;) > > > report here if you success. > > > Jean-François -- unsubscribe: [email protected] website: http://groups.google.com/group/android-porting
