summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis de Bethencourt <luis.bg@samsung.com>2015-03-06 12:03:56 +0000
committerLuis de Bethencourt <luis.bg@samsung.com>2015-03-06 12:06:22 +0000
commit70c48cf85fabb304d4b2ea4617eb472b51da227d (patch)
treed1cd883f0361d1bd985f8af42adae0c32dbaaee2
parent3aa008adb7ac295380d6b9d7997d5c4c38e63833 (diff)
downloadgst-omx-70c48cf85fabb304d4b2ea4617eb472b51da227d.tar.gz
omx: handle both errors in the two steps of update_port_definition
Also consider potential errors in the _get_parameter() in the return of the update_port_definition function. CID #1287052
-rw-r--r--omx/gstomx.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/omx/gstomx.c b/omx/gstomx.c
index e439a0e..69696c4 100644
--- a/omx/gstomx.c
+++ b/omx/gstomx.c
@@ -1197,7 +1197,7 @@ OMX_ERRORTYPE
gst_omx_port_update_port_definition (GstOMXPort * port,
OMX_PARAM_PORTDEFINITIONTYPE * port_def)
{
- OMX_ERRORTYPE err = OMX_ErrorNone;
+ OMX_ERRORTYPE err_get, err_set = OMX_ErrorNone;
GstOMXComponent *comp;
g_return_val_if_fail (port != NULL, FALSE);
@@ -1205,16 +1205,19 @@ gst_omx_port_update_port_definition (GstOMXPort * port,
comp = port->comp;
if (port_def)
- err =
+ err_set =
gst_omx_component_set_parameter (comp, OMX_IndexParamPortDefinition,
port_def);
- gst_omx_component_get_parameter (comp, OMX_IndexParamPortDefinition,
+ err_get = gst_omx_component_get_parameter (comp, OMX_IndexParamPortDefinition,
&port->port_def);
GST_DEBUG_OBJECT (comp->parent, "Updated %s port %u definition: %s (0x%08x)",
- comp->name, port->index, gst_omx_error_to_string (err), err);
+ comp->name, port->index, gst_omx_error_to_string (err_set), err_set);
- return err;
+ if (err_set != OMX_ErrorNone)
+ return err_set;
+ else
+ return err_get;
}
/* NOTE: Uses comp->lock and comp->messages_lock */