omxvideoenc: Failed to force a keyframe: Unsupported index (0x8000101a)
Graham Leggett
minfrin at sharp.fm
Sat Aug 15 04:56:38 PDT 2015
On 15 Aug 2015, at 1:04 PM, Sebastian Dröge <sebastian at centricular.com> wrote:
> It means that the RPi OpenMAX implementation does not support forcing a
> keyframe to be generated with that API, or we use that API wrong.
Using the patch below to improve the error message, I am now getting the following:
0:03:01.909221579 10369 0x1a526f0 ERROR omxvideoenc gstomxvideoenc.c:1553:gst_omx_video_enc_handle_frame:<omxh264enc-omxh264enc0> Failed to force a keyframe at index 200: Unsupported index (0x8000101a)
Does anyone know what units an “index” is measured in? Is it a frame number, seconds, something else?
Is “200” a reasonable index?
Patching further to print an error if the attempt to force a keyframe ever succeeds shows that this call never succeeds. Is this API documented anywhere?
diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
index 41ca346..02fc7d3 100644
--- a/omx/gstomxvideoenc.c
+++ b/omx/gstomxvideoenc.c
@@ -1549,8 +1549,8 @@ gst_omx_video_enc_handle_frame (GstVideoEncoder * encoder,
gst_omx_component_set_config (self->enc,
OMX_IndexConfigVideoIntraVOPRefresh, &config);
if (err != OMX_ErrorNone)
- GST_ERROR_OBJECT (self, "Failed to force a keyframe: %s (0x%08x)",
- gst_omx_error_to_string (err), err);
+ GST_ERROR_OBJECT (self, "Failed to force a keyframe at index %d: %s (0x%08x)",
+ (int)port->index, gst_omx_error_to_string (err), err);
}
/* Copy the buffer content in chunks of size as requested
Regards,
Graham
—
More information about the gstreamer-devel
mailing list