omx: fix two serious message handling bugs

Waiting for the next message if we already got one
is nonsense and can lead to lockups.

https://bugzilla.gnome.org/show_bug.cgi?id=725468
This commit is contained in:
Christian König 2014-03-01 22:28:24 +01:00 committed by Sebastian Dröge
parent 4e4f093319
commit 8b06b07f6f

View file

@ -842,8 +842,7 @@ gst_omx_component_get_state (GstOMXComponent * comp, GstClockTime timeout)
g_mutex_unlock (&comp->lock);
if (!g_queue_is_empty (&comp->messages)) {
signalled = TRUE;
}
if (timeout == GST_CLOCK_TIME_NONE) {
} else if (timeout == GST_CLOCK_TIME_NONE) {
g_cond_wait (&comp->messages_cond, &comp->messages_lock);
signalled = TRUE;
} else {
@ -1514,8 +1513,7 @@ gst_omx_port_set_flushing (GstOMXPort * port, GstClockTime timeout,
if (!g_queue_is_empty (&comp->messages)) {
signalled = TRUE;
}
if (timeout == GST_CLOCK_TIME_NONE) {
} else if (timeout == GST_CLOCK_TIME_NONE) {
g_cond_wait (&comp->messages_cond, &comp->messages_lock);
signalled = TRUE;
} else {