summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)