omxvideoenc: Failed to force a keyframe: Unsupported index (0x8000101a)

Graham Leggett minfrin at sharp.fm
Sat Aug 15 09:51:16 PDT 2015


On 15 Aug 2015, at 6:28 PM, Sebastian Dröge <sebastian at centricular.com> wrote:

> That's the index of the port as defined by the RPi openmax component.
> It's how the port is identified.

What is the “port”?

> Yes, it's documented in the OpenMAX IL specification.
> https://www.khronos.org/registry/omxil/specs/OpenMAX_IL_1_1_2_Specifica
> tion.pdf

According to the docs the nPortIndex value is read only, so the existing code that tried to write directly to nPortIndex seems to be incorrect.

What is confusing me through is that I’m getting OMX_ErrorUnsupportedIndex from OMX_GetConfig() - given we’re getting the index the only parameter of relevance is “OMX_IndexConfigVideoIntraVOPRefresh”, and yet this is supposedly supported?

I’ve asked the RPi firmware people to clarify, as there is no published source for OMX_GetConfig().

1543	      GST_OMX_INIT_STRUCT (&config);
(gdb) next
1547	      GST_DEBUG_OBJECT (self, "Forcing a keyframe");
(gdb) print config
$1 = {nSize = 16, nVersion = {s = {nVersionMajor = 1 '\001', nVersionMinor = 1 '\001', nRevision = 2 '\002', nStep = 0 '\000'}, nVersion = 131329}, 
  nPortIndex = 0, IntraRefreshVOP = OMX_FALSE}
(gdb) next
1549	      err = OMX_GetConfig (self->enc->handle, OMX_IndexConfigVideoIntraVOPRefresh, &config);
(gdb) step
1554	      if (err != OMX_ErrorNone) {
(gdb) print err
$2 = OMX_ErrorUnsupportedIndex
(gdb) print port->index
$3 = 200
(gdb) print config.nPortIndex
$4 = 0
(gdb) print OMX_IndexConfigVideoIntraVOPRefresh
$5 = OMX_IndexConfigVideoIntraVOPRefresh

Regards,
Graham
—



More information about the gstreamer-devel mailing list