Hi Ravi,

My goal is to add an additional AAC decoder to the build. I am trying
to understand the integration process while doing this assignment.  If
I am successful in integrating AAC decoder, then I am planning to go
ahead of doing more open source projects on Android and contribute
them back.

Currently I started Integration process with my current
understanding.

Thanks
Gururaja


On Oct 29, 8:39 am, RaviY <yend...@pv.com> wrote:
> I am still not clear as to what your goal is. Are you interested to
> replace the AAC decoder with your own version, or do you want to add
> an additional AAC decoder to the build?
>
> If the latter, why?
>
> If the former, then I think your understanding in the previous post is
> correct.
>
> -Ravi
>
> On Oct 27, 9:04 am, guru <guru.nav...@gmail.com> wrote:
>
>
>
> > HI Ravi,
>
> > In this like you have answered about having multiple codecs of same
> > format.http://www.mail-archive.com/android-porting@googlegroups.com/msg06551...
>
> > 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 <guru.nav...@gmail.com> 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 <yend...@pv.com> wrote:
>
> > > > On Oct 25, 1:23 am, guru <guru.nav...@gmail.com> 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 <yend...@pv.com> 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 <guru.nav...@gmail.com> 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 <yend...@pv.com> wrote:
>
> > > > > > > >http://android.git.kernel.org/?p=platform/external/opencore.git;a=blo...
>
> > > > > > > > On Oct 22, 5:49 am, guru <guru.nav...@gmail.com> 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 -- Hide quoted text -
>
> - Show quoted text -

-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

Reply via email to