[OMX IL] AllocateBuffer on an enabled port


In reading the OpenMAX IL v1.1.1 spec (section, I believe that AllocateBuffer should return an error if the client calls AllocateBuffer when a port is enabled and the component is in the idle state.

However, the BufferTest conformance test (line 759 of OMX_CONF_BufferTest.c) performs this operation.

Any idea what the correct behaviour should be?


A port being enabled is not the same as bEnabled (in the port definition structure) being set. In the spec, we say:

It is the event handler command complete callback that indicates that the port is really enabled, not bEnabled. The conformance test is actually calling AllocateBuffer on a disabled port that is trying to become enabled. It can only really become enabled once it is populated, hence the AllocateBuffer calls.



Thanks Roger.

So when the spec text says the port is enabled, does this translate to the condition ((bEnabled==OMX_TRUE) && (bPopulated==OMX_TRUE))?