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

Reply via email to