HI Ravi,

In this like you have answered about having multiple codecs of same
format.
http://www.mail-archive.com/[email protected]/msg06551.html

from above link, it is said that we can have multiple codecs of same
format. If multiple codecs exist then we have to write
AacRegister() function for each of the codec with different name or we
can reuse same function by just changing the
libomx_aacdec_sharedlibrary.so shared library name to our shared
library name to reuse it.

Hope my understanding is correct!

Thanks
Gururaja

On Oct 26, 4:09 pm, 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 -- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to