OpenMax initialization and OmxVideoDecodeEngine::Seek

9 views
Skip to first unread message

a2k

unread,
Sep 20, 2010, 3:07:18 PM9/20/10
to Chromium-dev
During OMX component initialization we have the following OMX
component transitions:
1. OmxVideoDecodeEngine::InitializeTask:
OnStateSetEventFunc = &OmxVideoDecodeEngine::DoneSetStateIdle;
if (!TransitionToState(OMX_StateIdle)) {
...

2. OmxVideoDecodeEngine::DoneSetStateIdle:
OnStateSetEventFunc = &OmxVideoDecodeEngine::DoneSetStateExecuting;
if (!TransitionToState(OMX_StateExecuting)) {
...

After a while OmxVideoDecodeEngine::Seek method is called which has
this code at the beginning:
DCHECK(client_state_ == kClientFlushing || // After a flush
client_state_ == kClientInitializing); // After an
initialize.

It comes out that for my OMX component transition to executing state
is done before this call, thus making the client to change its state
to kClientRunning. So, the DCHECK fails.

Can anyone please help me to understand what I miss in Seek method
implementation? Is this check not valid or I have problems with the
component?

Thanks
Reply all
Reply to author
Forward
0 new messages