summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Arutyunyan <arutyunyan.roman@gmail.com>2013-07-01 15:48:47 +0200
committerSebastian Dröge <slomo@circular-chaos.org>2013-07-02 09:26:51 +0200
commit09f5eb9beba9657e1b6ca15b09d848488e58350d (patch)
tree0607e07e3101099e40556d1ec43e66eb27e6ad65
parenta59b39b998d9a4996ac42627301d280084302680 (diff)
downloadgst-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.c15
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)