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
This commit is contained in:
Guillaume Desmottes 2017-11-29 14:18:41 +01:00 committed by Olivier Crête
parent 6364463918
commit 56654cced5

View file

@ -1957,6 +1957,14 @@ gst_omx_video_dec_negotiate (GstOMXVideoDec * self)
GST_OMX_INIT_STRUCT (&param); GST_OMX_INIT_STRUCT (&param);
param.nPortIndex = self->dec_out_port->index; param.nPortIndex = self->dec_out_port->index;
err = gst_omx_component_get_parameter (self->dec,
OMX_IndexParamVideoPortFormat, &param);
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) { for (l = negotiation_map; l; l = l->next) {
GstOMXVideoNegotiationMap *m = l->data; GstOMXVideoNegotiationMap *m = l->data;