From: Graham Leggett Date: Sat, 22 Aug 2015 15:54:55 +0000 (+0000) Subject: omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestI... X-Git-Tag: 1.19.3~501^2~384 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=703bab688566c6fe4de934dbb2b93300bc2aa4ff;p=platform%2Fupstream%2Fgstreamer.git omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame https://bugzilla.gnome.org/show_bug.cgi?id=753085 --- diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c index 41ca346..0901b33 100644 --- a/omx/gstomxvideoenc.c +++ b/omx/gstomxvideoenc.c @@ -1538,6 +1538,18 @@ gst_omx_video_enc_handle_frame (GstVideoEncoder * encoder, GST_DEBUG_OBJECT (self, "Handling frame"); if (GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME (frame)) { +#ifdef USE_OMX_TARGET_RPI + OMX_CONFIG_BOOLEANTYPE config; + + GST_OMX_INIT_STRUCT (&config); + config.bEnabled = OMX_TRUE; + + GST_DEBUG_OBJECT (self, "Forcing a keyframe (iframe on the RPi)"); + + err = + gst_omx_component_set_config (self->enc, + OMX_IndexConfigBrcmVideoRequestIFrame, &config); +#else OMX_CONFIG_INTRAREFRESHVOPTYPE config; GST_OMX_INIT_STRUCT (&config); @@ -1548,6 +1560,7 @@ gst_omx_video_enc_handle_frame (GstVideoEncoder * encoder, err = gst_omx_component_set_config (self->enc, OMX_IndexConfigVideoIntraVOPRefresh, &config); +#endif if (err != OMX_ErrorNone) GST_ERROR_OBJECT (self, "Failed to force a keyframe: %s (0x%08x)", gst_omx_error_to_string (err), err);