Yes and Yes. Your understanding is correct. -Ravi
On Oct 26, 6:09 am, guru <[email protected]> wrote: > HI Ravi, > > Thanks for the valuable information. > > From above what I can deduce is: > > 1.) for the question: > > > 3. we can use existing parser node/ parser file. ( as mentioned by > > group users ) > > can we use this without any modification? > > Yes. It depends on what codec you are adding. > > OR > > > a) what other changes I need to do or which part of the opencore i > > have to concentrate, apart from steps mentioned above? > > As mentioned above, it depends on the type of codec you are adding. > > ***************************************** > It means that for example ... since opencore contains AAC decoder > implementation, if i want to add our own AAC decoder then it it enough > that I replace existing AAC decoder shared library with my AAC shared > decoder library and changing library reference whereever necessary? > > like change in AacRegister() > > #if USE_DYNAMIC_LOAD_OMX_COMPONENTS > pCRT->FunctionPtrCreateComponent = > &OmxComponentFactoryDynamicCreate; > pCRT->FunctionPtrDestroyComponent = > &OmxComponentFactoryDynamicDestructor; > pCRT->SharedLibraryName = > (OMX_STRING)"libomx_aacdec_sharedlibrary.so"; > <------------------------ > > 2.) for the question> c) who will call OMX_init(). > > from my understanding, player will invoke this OMX_Init then > > player will be created. is it right? > > The layer driving the player engine, i.e., playerdriver will call > OMX_Init. > ************************************************************** > it means that Initialization of all OMX core components will be done > once when OMX_Init is called from playerdriver. is it right? > > Thanks > Gururaja B O > On Oct 26, 7:22 am, RaviY <[email protected]> wrote: > > > On Oct 25, 1:23 am, guru <[email protected]> wrote:> Hi ravi, > > > > whatever i told, it was my understanding. > > > > After going through the doc you refered, what i understood is > > > > 1. Initially we need to have shared library (OMX core + OMX core > > > wrapper + configuration parser API). > > > Yes. > > > > 2. we have to record OMX core library in the configuration file in > > > pvplayer.cfg ( or other file with .cfg extention). Then > > > pv_omxmastercore loads all omx cores registered in .cfg files while > > > OMX_Init() is invoked. This pv_omxmastermore is wrapper layer which > > > helps in loading all cores and their compoents. > > Yes. > > > > 3. we can use existing parser node/ parser file. ( as mentioned by > > > group users ) > > > can we use this without any modification? > > > Yes. It depends on what codec you are adding. > > > > my question/ doubt are: > > > > a) what other changes I need to do or which part of the opencore i > > > have to concentrate, apart from steps mentioned above? > > > As mentioned above, it depends on the type of codec you are adding. > > > > b) I was unable to understand who will invoke parser node? > > > The player engine will take care of invoking the appropriate parser > > node. > > > > c) who will call OMX_init(). > > > from my understanding, player will invoke this OMX_Init then > > > player will be created. is it right? > > > The layer driving the player engine, i.e., playerdriver will call > > OMX_Init. > > > > Thanks > > > Gururaja > > > > On Oct 23, 4:44 pm, RaviY <[email protected]> wrote: > > > > > What am I supposed to guide you on? I did not find a question in your > > > > post. > > > > > -Ravi > > > > > On Oct 23, 2:30 am, guru <[email protected]> wrote: > > > > > > Hi RaviY, > > > > > > I went through the document that you refered. Here is my > > > > > understanding: > > > > > > 1. Initially we need to have shared library (OMX core + OMX core > > > > > wrapper + configuration parser API). > > > > > 2. we have to record OMX core library in the configuration file in > > > > > pvplayer.cfg ( or other file with .cfg extention). Then > > > > > pv_omxmastercore loads all omx cores registered in .cfg files while > > > > > OMX_Init() is invoked. This pv_omxmastermore is wrapper layer which > > > > > helps in loading all cores and their compoents. > > > > > when i googled, i got some points about integration: > > > > > 3. steps to integrate opencore codec > > > > > In general, the steps to add a new OMX codec would be: > > > > > (i) Add the required format, if not present, in pvmi/pvmf/include/ > > > > > pvmf_format_type.h. > > > > > (ii) Add the mime type in the capability of PVMFOMXAudioDecNode()or > > > > > PVMFOMXVideoDecNode() [see the constructor]. > > > > > > if you are going to use the OpenCORE OMX-core ... > > > > > (iii) Register the component in the omx registry - codecs_v2/omx/ > > > > > omx_common/src/pv_omxregistry.cpp. ---> [in this for each decoder he > > > > > has one function ( example : AacRegister). Whether we have to write > > > > > our own?] > > > > > or if you are going to provide your own OMX-core ... > > > > > (iii) Have your OMX-core register this new component. ---> [How to > > > > > achieve this one?] > > > > > (iv) Have your OMX-core dynamically loadable. ---> [steps is > > > > > provided in the OMX core integration Guide] > > > > > > apart from these steps whether I have follow any other steps. I read > > > > > about parser node and file parser. one author told me that we can use > > > > > these and no need to write again. > > > > > > Please guide me or give some reference to follow. > > > > > > Regards > > > > > Gururaja > > > > > > On Oct 22, 4:46 pm, RaviY <[email protected]> wrote: > > > > > > >http://android.git.kernel.org/?p=platform/external/opencore.git;a=blo... > > > > > > > On Oct 22, 5:49 am, guru <[email protected]> wrote: > > > > > > > > HI All, > > > > > > > > I am trying to integrate decoder to OpenCORE. Below is my > > > > > > > understanding after going through code base: > > > > > > > > OMX_Init() is called by player driver (Playerdriver.cpp) > > > > > > > > pv_omxmastercore.cpp --> OMX_Init()-->_OMX_Init() > > > > > > > | > > > > > > > pv_omxcore.cpp ---> > > > > > > > OMX_Init > > > > > > > () _OMX_Init()--> AacRegister(); > > > > > > > > pv_omxregistry.cpp AacRegister() --> > > > > > > > ComponentRegister() > > > > > > > > from this what I observed is , in order to register our component > > > > > > > we > > > > > > > have to write our own function and call ComponentRegister! > > > > > > > > Please let me know is that my understanding is correct. I will be > > > > > > > a > > > > > > > great help. > > > > > > > > Thanks > > > > > > > Gururaja B O- Hide quoted text - > > > > > > > - Show quoted text -- Hide quoted text - > > > > > - Show quoted text -- Hide quoted text - > > > - Show quoted text - > > --~--~---------~--~----~------------~-------~--~----~ unsubscribe: [email protected] website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---
