OMX IL: UseEGLImage access to data


According to section of the spec, on returning from UseEGLImage, “the pBuffer field of the pBufferHdr parameter shall be 0x0”. That makes sense as an EGLimage is opaque, so the IL client can’t access the data.

So, when the cmpt gets a call to Fill/EmptyThisBuffer, how does it get access to the EGLhandle and ultimately the pysical buffers? Looking at the buffer header structure, the only way to get to this data is through either pPlatformPrivate or pInputPortPrivate/pOutputPortPrivate fields.

From bug #3698, I guess the only field that the component is guaranteed to be able to use is the pInputPortPrivate/pOutputPortPrivate fields, is that correct?


Yes, that’s my understanding.



Phil/Roger -

I do have a follow up question on usage of UseEGLImage. How is the OMX Component supposed to access the EGLImage given the EGLImageKHR handle.
(as OMX isn’t a client of EGL).

Does this impose that EGLImageKHR be actually a pointer to the EGLImage struct and EGLImage struct definition be shared between OMX and EGL ?
I don’t see how the OMX Component can access the EGLImage data if EGLImageKHR is some kind of ID rather than the pointer.