Ravi, Sorry for the delayed response. I was out of the office. I am still not sure I understand. Here is what I think I understand:
1) there are static modules such as the mp4 parser and recognizer. These are added to the registry during the execution of the PVPlayerRegistryPopulator::Populate() method when the engine is first created with calls to pop.RegisterAllNodes() and pop.RegisterAllRecognizers(). 2) there are dynamically loadable shared libraries such as custom parsers and recognizers. These are added to the registry during the execution of the PVPlayerRegistryPopulator::Populate() method when the engine is first created with calls to aNode.AddLoadableModules() and aRec.AddLoadableModules(). In the case of dynamically loadable shared libraries, a .cfg file must be created that contains lines that identify the custom created library such as (0x1d4769f0,0xca0c,0x11dc,0x95,0xff, 0x08,0x00,0x20,0x0c,0x9a,0x66),"libopencore_streamingreg" Also, the dynamically loadable shared library must implement the NodeRegistryPopulatorInterface. >From previous discussions, it appears that the .cfg file should be placed in the /system/etc and the custom library should be placed in the /system/lib directory, but these discussions were pretty vague and I am not confident that I understand the context of the discussions. Could you please tell me if my assumptions are correct and if not, please provide me with the correct description of the method of registering a custom parser and recognizer, as well as the location of the .cfg file and the custom library. Thanks, Jeff On Nov 17, 2:04 pm, RaviY <[email protected]> wrote: > Did you look at the mp4parsernode/recognizer? > > http://android.git.kernel.org/?p=platform/external/opencore.git;a=tre... > > -Ravi > > On Nov 17, 12:54 pm, jeffb <[email protected]> wrote: > > > Ravi, > > Thanks for the reply. I understand the need to implement the > > PVMFNodeInterface as the baseline interface for aparsernode. But I > > was wondering about theinterfacesthat must be implemented to enable > > a node (parserand recognizer functionality) to be registered > > dynamically (i.e. when opencore executes RegisterAllNodes and > > RegisterAllRecognizers, whatinterfacesmust be in place in the shared > > library). Also, where should the library be placed within the > > directory structure and where should the .cfg file be located as well? > > > Regards, > > Jeff > > > On Nov 17, 9:11 am, RaviY <[email protected]> wrote: > > > > You would need to look at PVMFNodeInterface and PVMFNodeInterfaceImpl. > > > > PVMFNodeInterface --- This is the actual interface. > > > PVMFNodeInterfaceImpl --- This is the base node implementation. > > > > You can create a node from scratch by deriving from PVMFNodeInterface. > > > Or, you can derive from PVMFNodeInterfaceImpl and reuse the code from > > > the base implementation. > > > > -Ravi > > > > On Nov 16, 2:17 pm, jeffb <[email protected]> wrote: > > > > > I am adding aparsernode to the engine. As I understand it, a > > > > dynamically loadable shared library must be created for acustom > > > >parsernode and a .cfg file must be created to reference the library. > > > > To avoid reverse engineering OpenCore, is there any documentation that > > > > provides a description of the necessaryinterfacesthat must be > > > > implemented? -- unsubscribe: [email protected] website: http://groups.google.com/group/android-porting
