Hi All, I have integrated decoder component with OpenCore. If i try to play audio file it is failing. when I saw the log it is failing when it tries to change its state to Idle.
My understanding is : Before it can change to idle state it has to allocate buffers to input and output ports. then it should call event handler about the state change. But according to the log, before allocating the buffers it is trying to check for buffers(whether allocated) then fails. after failure, buffers are allocated. It should be: Buffer allocation state transition to idle but in my case State transition to idle Buffer allocation. is happening What may be the reason? Since state change is occuring in Component Thread and buffer allocation in main thread, so is there any timing issue? E/PV ( 878): PVLOG:TID (0x5b950):Time=1150:PVMFOMXAudioDecNode::DoPrepare() : Changing Component state Loaded -> Idle E/ ( 878): ....Calling OMX_SendCommand E/ ( 878): OMX_AACLC_COMP.c MySendCommand IN E/ ( 878): .... State transition command start --> component thread E/ ( 878): .... case OMX_StateIdle E/ ( 878): ........Inside StateIdle While Loop E/ ( 878): ........Inside StateIdle While Loop E/ ( 878): ........Inside StateIdle While Loop E/ ( 878): ........Inside StateIdle While Loop E/ ( 878): ........Inside StateIdle While Loop E/ ( 878): ........Inside StateIdle While Loop E/ ( 878): ........Inside StateIdle While Loop E/ ( 878): ........Inside StateIdle While Loop E/ ( 878): ........Inside StateIdle While Loop E/ ( 878): ........Inside StateIdle While Loop E/ ( 878): .... Calling Event Handler8 E/ ( 878): CallbackEventHandler Multithread IN E/ ( 878): CallbackEventHandler Multithread OUT E/ ( 878): Idle transition failed E/ ( 878): .... State transition command end --> component thread ends E/ ( 878): OMX_AACLC_COMP.c MySendCommand OUT E/ ( 878): ....Exiting in OMX_SenCommand E/PV ( 878): PVLOG:TID (0x5b950):Time=1152:PVMFOMXAudioDecNode::CreateInput MemPool() start E/PV ( 878): PVLOG:TID (0x5b950):Time=1152:PVMFOMXAudioDecNode::CreateInput MemPool() allocating buffer header pointers and shared media data ptrs E/PV ( 878): PVLOG:TID (0x5b950):Time=1152:PVMFOMXAudioDecNode::CreateInput MemPool() done E/PV ( 878): PVLOG:TID (0x5b950):Time=1152:PVMFOMXAudioDecNode::ProvideBuff ersToComponent() enter E/ ( 878): OMX_AACLC_COMP.c MyAllocateBuffer IN E/ ( 878): OMX_AACLC_COMP.c MyAllocateBuffer OUT E/PV ( 878): PVLOG:TID (0x5b950):Time=1153:PVMFOMXAudioDecNode::ProvideBuff ersToComponent() done E/PV ( 878): PVLOG:TID (0x5b950):Time=1153:PVMFOMXAudioDecNode::CreateOutMe mPool() start E/PV ( 878): PVLOG:TID (0x5b950):Time=1153:PVMFOMXAudioDecNode::CreateOutMe mPool() Allocating output buffer header pointers E/PV ( 878): PVLOG:TID (0x5b950):Time=1153:PVMFOMXAudioDecNode::CreateOutMe mPool() done E/PV ( 878): PVLOG:TID (0x5b950):Time=1154:PVMFOMXAudioDecNode::ProvideBuff ersToComponent() enter E/ ( 878): OMX_AACLC_COMP.c MyAllocateBuffer IN E/ ( 878): OMX_AACLC_COMP.c MyAllocateBuffer OUT E/PV ( 878): PVLOG:TID (0x5b950):Time=1154:PVMFOMXAudioDecNode::ProvideBuff ersToComponent() done E/PV ( 878): PVLOG:TID (0x5b950):Time=1154:EventHandlerThreadSafeCallbackAO ::Run() In E/PV ( 878): PVLOG:TID (0x5b950):Time=1154:EventHandlerThreadSafeCallbackAO ::Run() - No more events, call PendForExec() E/PV ( 878): PVLOG:TID (0x5b950):Time=1155:EventHandlerThreadSafeCallbackAO _Audio::Run() - Calling Process Event E/PV ( 878): PVLOG:TID (0x5b950):Time=1155:PVMFOMXAudioDecNode::EventHandle rProcessing: Event Generated - 1 E/PV ( 878): PVLOG:TID (0x5b950):Time=1155:PVMFOMXAudioDecNode::EventHandle rProcessing: OMX_EventError Thanks Gururaja -- unsubscribe: [email protected] website: http://groups.google.com/group/android-porting
