After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 753085 - omxh264enc: Add support for forcing keyframes on the RPi
omxh264enc: Add support for forcing keyframes on the RPi
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-omx
git master
Other Mac OS
: Normal normal
: 1.9.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-07-31 01:11 UTC by minfrin
Modified: 2016-07-06 09:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
0001-Add-keyframe-support-for-the-Rpi-using-OMX_IndexConf.patch (1.49 KB, patch)
2015-08-22 16:00 UTC, minfrin
committed Details | Review

Description minfrin 2015-07-31 01:11:08 UTC
While encoding video using omxh264enc on a Raspberry Pi 2 using gstreamer v1.2.4, encoding works successfully.

While performing the exact same encoding on gstreamer git master, the following error is logged every few seconds:

0:04:30.148693826 19123  0x1be0830 ERROR            omxvideoenc gstomxvideoenc.c:1553:gst_omx_video_enc_handle_frame:<omxh264enc-omxh264enc0> Failed to force a keyframe: Unsupported index (0x8000101a)

The encoded and HLS muxed video still renders in VLC (but refuses to render in Safari/iOS), it is not clear what this error message refers to.
Comment 1 minfrin 2015-08-22 15:59:17 UTC
As confirmed by the RPi people, OMX_IndexConfigVideoIntraVOPRefresh isn't supported on the Rpi, thus the error:

https://github.com/raspberrypi/firmware/issues/462

Use of OMX_IndexConfigBrcmVideoRequestIFrame targeted for the RPi instead.

The attached patch makes this so.
Comment 2 minfrin 2015-08-22 16:00:10 UTC
Created attachment 309865 [details] [review]
0001-Add-keyframe-support-for-the-Rpi-using-OMX_IndexConf.patch

Add patch to fix the issue.
Comment 3 Sebastian Dröge (slomo) 2015-08-22 16:55:58 UTC
Comment on attachment 309865 [details] [review]
0001-Add-keyframe-support-for-the-Rpi-using-OMX_IndexConf.patch

Looks good, but how is this a regression? I mean, how could this have ever worked before if RPi did not support the keyframe request API from the OpenMAX IL standard?
Comment 4 minfrin 2015-08-22 16:59:14 UTC
As indicated in the original comment: "While encoding video using omxh264enc on a Raspberry Pi 2 using gstreamer v1.2.4, encoding works successfully.".
Comment 5 Sebastian Dröge (slomo) 2015-08-22 17:01:27 UTC
So you're saying that OMX_IndexConfigVideoIntraVOPRefresh worked before, but not anymore?
Comment 6 Sebastian Dröge (slomo) 2015-08-27 08:16:23 UTC
commit 703bab688566c6fe4de934dbb2b93300bc2aa4ff
Author: Graham Leggett <minfrin@sharp.fm>
Date:   Sat Aug 22 15:54:55 2015 +0000

    omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
    
    https://bugzilla.gnome.org/show_bug.cgi?id=753085