diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c index 219a61ff48..788ef83358 100644 --- a/omx/gstomxvideoenc.c +++ b/omx/gstomxvideoenc.c @@ -2219,22 +2219,9 @@ gst_omx_video_enc_set_format (GstVideoEncoder * encoder, NULL) != OMX_ErrorNone) return FALSE; - GST_OBJECT_LOCK (self); - if (self->target_bitrate != 0xffffffff) { - OMX_VIDEO_PARAM_BITRATETYPE config; - OMX_ERRORTYPE err; - - GST_OMX_INIT_STRUCT (&config); - config.nPortIndex = self->enc_out_port->index; - config.nTargetBitrate = self->target_bitrate; - config.eControlRate = self->control_rate; - err = gst_omx_component_set_parameter (self->enc, - OMX_IndexParamVideoBitrate, &config); - if (err != OMX_ErrorNone) - GST_ERROR_OBJECT (self, "Failed to set bitrate parameter: %s (0x%08x)", - gst_omx_error_to_string (err), err); - } - GST_OBJECT_UNLOCK (self); + /* Some OMX implementations reset the bitrate after setting the compression + * format, see bgo#698049, so re-set it */ + gst_omx_video_enc_set_bitrate (self); if (self->input_state) gst_video_codec_state_unref (self->input_state);