I figured that it's left to the vendor to implement in however way they wish to. Looking @ the Bellagio & LIM sources helped me. Now, OMX_Init(), OMX_GetComponentENum() & OMX_GetRolesOfComponent() calls are successfully passing within my new core, but I don't get any further calls. I see that the software components also go thru a similar sequence (for all the decoders & encoders) but no more entry into any of the other functions (was expecting the next call into OMX_GetHandle). Any clues? I've attached the last part of the log & would really appreciate some tips:
*********************************************************************************************************************** E/PV ( 828): PVLOG:TID(0xca240):Time=595:PVMIDataStreamSyncInterfaceRefImpl::GetCurrentContentPosition returning 0 E/PV ( 828): PVLOG:TID(0xca240):Time=597:PVMIDataStreamSyncInterfaceRefImpl::GetCurrentContentPosition returning 0 E/PV ( 828): PVLOG:TID(0xca240):Time=598:PVMIDataStreamSyncInterfaceRefImpl::GetCurrentContentPosition returning 0 E/PV ( 828): PVLOG:TID(0xca240):Time=603:PVMIDataStreamSyncInterfaceRefImpl::ReadAndUnlockContent returning 8 E/PV ( 828): PVLOG:TID(0xca240):Time=604:PVMIDataStreamSyncInterfaceRefImpl::CloseSession returning 0 E/PV ( 828): PVLOG:TID(0xca240):Time=606:PVMIDataStreamSyncInterfaceRefImpl::~PVMIDataStreamSyncInterfaceRefImpl E/PV ( 828): PVLOG:TID(0xca240):Time=608:PVMFRecognizerRegistryImpl::DoRecognize Out of recognizer i=0 result=4, time=33 E/PV ( 828): PVLOG:TID(0xca240):Time=609:PVPlayerRecognizerRegistry::RecognizerCommandCompleted() IN E/PV ( 828): PVLOG:TID(0xca240):Time=610:PVPlayerRecognizerRegistry::RecognizeCommandCompleted() - Recognize returned Success E/PV ( 828): PVLOG:TID(0xca240):Time=612:PVPlayerRecognizerRegistry::RecognizerCommandCompleted() OUT E/PV ( 828): PVLOG:TID(0xca240):Time=621:PVPlayerEngine::DoSetupSourceNode() Tick=621 E/PV ( 828): PVLOG:TID(0xca240):Time=622:PVPlayerEngine::DoSetupSourceNode() In E/PV ( 828): PVLOG:TID(0xca240):Time=623:PVPlayerNodeRegistry::QueryRegistry() IN E/PV ( 828): PVLOG:TID(0xca240):Time=625:PVPlayerNodeRegistry::QueryRegistry() OUT E/PV ( 828): PVLOG:TID(0xca240):Time=626:PVPlayerNodeRegistry::CreateNode() IN E/MediaMetadataRetrieverJNI( 926): captureFrame: videoFrame is a NULL pointer W/MediaThumbRequest( 926): can't create bitmap for thumbnail. I/ServiceManager( 824): service 'media.audio_flinger' died I/ServiceManager( 824): service 'media.player' died I/ServiceManager( 824): service 'media.camera' died I/ServiceManager( 824): service 'media.audio_policy' died W/MediaMetadataRetriever( 926): MediaMetadataRetriever server died! W/AudioSystem( 845): AudioPolicyService server died! W/MediaPlayer( 845): MediaPlayer server died! D/dalvikvm( 926): GREF has increased to 201 V/MediaStore( 953): We probably run out of space, so create the thumbnail in memory. I/ServiceManager( 953): Waiting for sevice media.player... I/ ( 962): ServiceManager: 0x82d08 I/CameraService( 962): CameraService started: pid=962 D/AudioHardwareALSA( 962): openOutputStream called for devices: 0x00000002 D/ALSAModule( 962): open called for devices 00000002 in mode 0... *********************************************************************************************************************** On May 5, 4:47 pm, HV <harishv.athr...@gmail.com> wrote: > Hi All, > > Now that I have my custom decoder/core being recognized by the > system, I've started implementing the 9 core methods, but hit a road > block with the OMX_Init function. Are there any vendor specific > samples? > > Here is what I have (based on the template in _OMX_Init( ) under > pv_omxcore.cpp): > > OSCL_EXPORT_REF OMX_ERRORTYPE OMXHV_Init() > { > OMX_ERRORTYPE status = OMX_ErrorNone; > int32 error; > > LOGE("HV: OMXHV_Init\n"); > > //get global data structure > OMXGlobalData* data = > (OMXGlobalData*)OsclSingletonRegistry::lockAndGetInstance(OSCL_SINGLETON_ID > _HV, > error); > if (error) // can't access registry > { > LOGE("HV: OMXHV_Init, ERROR-1\n"); > return OMX_ErrorInsufficientResources; > } > > else if (!data) // singleton object has been destroyed > { > OsclSingletonRegistry::registerInstanceAndUnlock(data, > OSCL_SINGLETON_ID_HV, error); > LOGE("HV: OMXHV_Init, ERROR-2\n"); > return OMX_ErrorInsufficientResources; > } > > LOGE("HV: OMXHV_Init, status = %d\n", status); > return status; > > } > > I do get called into this function, but it errors [ERROR-2 above] out. > Any idea what I'm missing here? > > Thanks in advance > HV > > -- > unsubscribe: android-porting+unsubscr...@googlegroups.com > website:http://groups.google.com/group/android-porting -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting