<div dir="ltr">This isn't a gstreamer question, but I haven't found any other place where one can ask questions and have a reasonable belief that they will get answered.  <div><br></div><div>If someone can point me to a different forum (or other resource) for my problem, I will gladly go there.  </div><div><br></div><div>I'm open to a short term consulting engagement if someone is interested in that.</div><div><br></div><div>* What I am trying to do is decode an annex B H264 stream on an Android iMX6 platform.  </div><div>* I want to decode with as little latency as possible.  </div><div>* As we are already using gstreamer for other purposes, I started there. </div><div>* I end up with ~8 frames of latency which I can't get get rid of.  </div><div>* I have switched to OpenMax IL with the idea of getting as much control as possible.</div><div><br></div><div>So far I have:</div><div>Get a handle to the HW H264 decoder.</div><div>Configure the ports</div><div>Allocate the input and output buffers.</div><div>Get the component in the executing state.</div><div>Repeatedly "feed" the input port by calling EmpyThisBuffer and handling the EmptyBufferDone callback.</div><div><br></div><div>The problem is that I never get an FillBufferDone callback even though the deocder happily takes input "forever" (where does it go?)</div><div><br></div><div>I have tried sending a single NAL at a time.</div><div>I have tried separating SPS/PPS NALs from VCL NALs.</div><div>I have tried sending full frames in a buffer.</div><div>I have tried setting buffer flags (OMX_BUFFERFLAG_CODECCONFIG, OMX_BUFFERFLAG_ENDOFFRAME)</div><div>END_OF_FRAME flag results in a "Stream is corrupt" error being sent to my callback.</div><div>I have tried stripping the 0001 NAL delimiters.</div><div>I have tried to query the input port with:  </div><div><br></div><div><br></div><div>OMX_GetParameter(mHandle, (OMX_INDEXTYPE) OMX_IndexParamNalStreamFormatSupported, &lFormatType);<br></div><div><br></div><div>(I get an index not supported error)</div><div><br></div><div>I have tried to set the format with </div><div>OMX_SetParameter(mHandle,(OMX_INDEXTYPE) OMX_IndexParamNalStreamFormatSelect, &lFormatType);<br></div><div><br></div><div>(index not supported error)</div><div><br></div><div>--------------------------------------------------------------------</div><div>Questions / thoughts.</div><div><br></div><div>1.  I am not using timestamps.  Is this OK?</div><div>2.  I am setting the framerate to 0.  Is this OK?</div><div>3.  Am I supposed to be handling the non VCL frames manually and configuring the ports/formats accordingly?  Or can I send all NAL data to the decoder?</div><div>4.  Am I allowed to send the raw buffer to the decoder (with 0001 headers and all)?  </div><div>5.  Do I have to send individual NALs per buffer?</div><div><br></div><div>I'm out of ideas.  Anything helps.</div><div><br></div><div><br></div><div><br></div></div>