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
-~----------~----~----~----~------~----~------~--~---

Reply via email to