From 56654cced50c369d0b84fb0215f11e0d314b8ced Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Wed, 29 Nov 2017 14:18:41 +0100 Subject: [PATCH] omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it The usual pattern when setting OMX params is to first get the struct param, override the values we want to set and then set the updated param. We were not doing this with OMX_IndexParamVideoPortFormat and so were resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate https://bugzilla.gnome.org/show_bug.cgi?id=790979 --- omx/gstomxvideodec.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c index 6d5db9a..38b4c1b 100644 --- a/omx/gstomxvideodec.c +++ b/omx/gstomxvideodec.c @@ -1957,6 +1957,14 @@ gst_omx_video_dec_negotiate (GstOMXVideoDec * self) GST_OMX_INIT_STRUCT (¶m); param.nPortIndex = self->dec_out_port->index; + err = gst_omx_component_get_parameter (self->dec, + OMX_IndexParamVideoPortFormat, ¶m); + if (err != OMX_ErrorNone) { + GST_ERROR_OBJECT (self, "Failed to get video port format: %s (0x%08x)", + gst_omx_error_to_string (err), err); + return FALSE; + } + for (l = negotiation_map; l; l = l->next) { GstOMXVideoNegotiationMap *m = l->data; -- 2.7.4