diff options
author | Roman Arutyunyan <arutyunyan.roman@gmail.com> | 2013-07-01 15:48:47 +0200 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2013-07-02 09:26:51 +0200 |
commit | 09f5eb9beba9657e1b6ca15b09d848488e58350d (patch) | |
tree | 0607e07e3101099e40556d1ec43e66eb27e6ad65 | |
parent | a59b39b998d9a4996ac42627301d280084302680 (diff) | |
download | gst-omx-1.0.tar.gz |
gstomxvideoenc: Set bitrate in setcaps1.0
Otherwise it gets lost whenever we configure new caps
https://bugzilla.gnome.org/show_bug.cgi?id=698049
-rw-r--r-- | omx/gstomxvideoenc.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c index 66f077c..cb97110 100644 --- a/omx/gstomxvideoenc.c +++ b/omx/gstomxvideoenc.c @@ -1246,6 +1246,21 @@ gst_omx_video_enc_set_format (GstVideoEncoder * encoder, NULL) != OMX_ErrorNone) return FALSE; + 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_DEBUG_OBJECT (self, "Enabling component"); if (needs_disable) { if (gst_omx_port_set_enabled (self->enc_in_port, TRUE) != OMX_ErrorNone) |