diff options
Diffstat (limited to 'meta-steppeeagle/recipes-multimedia/gstreamer/gstreamer1.0-omx/0011-omx-fix-two-serious-message-handling-bugs.patch')
-rw-r--r-- | meta-steppeeagle/recipes-multimedia/gstreamer/gstreamer1.0-omx/0011-omx-fix-two-serious-message-handling-bugs.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/meta-steppeeagle/recipes-multimedia/gstreamer/gstreamer1.0-omx/0011-omx-fix-two-serious-message-handling-bugs.patch b/meta-steppeeagle/recipes-multimedia/gstreamer/gstreamer1.0-omx/0011-omx-fix-two-serious-message-handling-bugs.patch new file mode 100644 index 00000000..6de3b84a --- /dev/null +++ b/meta-steppeeagle/recipes-multimedia/gstreamer/gstreamer1.0-omx/0011-omx-fix-two-serious-message-handling-bugs.patch @@ -0,0 +1,40 @@ +From 6d0b6813745b54eb5dd249ba4446118b21383059 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> +Date: Sat, 1 Mar 2014 22:28:24 +0100 +Subject: [PATCH 11/11] 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 +--- + omx/gstomx.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/omx/gstomx.c b/omx/gstomx.c +index df3a8ff..b77c904 100644 +--- a/omx/gstomx.c ++++ b/omx/gstomx.c +@@ -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 { +@@ -1519,8 +1518,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 { +-- +1.7.9.5 + |