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-01 15:48:47 +0200
commit5ba55b6c9aad49858304a38e0ab475c1ecafd646 (patch)
tree4d108e131a8926d8935ebed96280de57583c7416
parent75ee954ea2fe2d5717f6965ba98148f7a059de7f (diff)
gstomxvideoenc: Set bitrate in setcaps
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 a399c07..82dbf54 100644
--- a/omx/gstomxvideoenc.c
+++ b/omx/gstomxvideoenc.c
@@ -1247,6 +1247,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)