PDA

View Full Version : [OMX IL] AllocateBuffer on an enabled port



pedwo
08-18-2008, 09:21 AM
Hi,

In reading the OpenMAX IL v1.1.1 spec (section 3.2.2.15), 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?

Thanks
Phil

rnixon
08-18-2008, 10:31 AM
In reading the OpenMAX IL v1.1.1 spec (section 3.2.2.15), 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:

The port shall immediately set bEnabled in its port definition structure when the port receives OMX_CommandPortEnable
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

pedwo
08-19-2008, 01:36 AM
Thanks Roger.

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

Regards
Phil