mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 15:04:46 +00:00
omx: always consider component in 'invalid' state when an error occured
gst_omx_component_get_state() used to early return if there was no pending state change. So if the component raised an error it wasn't considered in the invalid state until the next requested state change. Fix this by checking first if we received an error. https://bugzilla.gnome.org/show_bug.cgi?id=795874
This commit is contained in:
parent
ebcadd9984
commit
3498f81d1f
1 changed files with 4 additions and 4 deletions
|
@ -972,10 +972,6 @@ gst_omx_component_get_state (GstOMXComponent * comp, GstClockTime timeout)
|
|||
|
||||
gst_omx_component_handle_messages (comp);
|
||||
|
||||
ret = comp->state;
|
||||
if (comp->pending_state == OMX_StateInvalid)
|
||||
goto done;
|
||||
|
||||
if (comp->last_error != OMX_ErrorNone) {
|
||||
GST_ERROR_OBJECT (comp->parent, "Component %s in error state: %s (0x%08x)",
|
||||
comp->name, gst_omx_error_to_string (comp->last_error),
|
||||
|
@ -984,6 +980,10 @@ gst_omx_component_get_state (GstOMXComponent * comp, GstClockTime timeout)
|
|||
goto done;
|
||||
}
|
||||
|
||||
ret = comp->state;
|
||||
if (comp->pending_state == OMX_StateInvalid)
|
||||
goto done;
|
||||
|
||||
while (signalled && comp->last_error == OMX_ErrorNone
|
||||
&& comp->pending_state != OMX_StateInvalid) {
|
||||
|
||||
|
|
Loading…
Reference in a new issue