diff options
Diffstat (limited to 'meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.18/0004-Properly-handle-drain-requests-while-flushing.patch')
-rw-r--r-- | meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.18/0004-Properly-handle-drain-requests-while-flushing.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.18/0004-Properly-handle-drain-requests-while-flushing.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.18/0004-Properly-handle-drain-requests-while-flushing.patch new file mode 100644 index 0000000000..144ced6ab7 --- /dev/null +++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.18/0004-Properly-handle-drain-requests-while-flushing.patch @@ -0,0 +1,30 @@ +From 140bf8548843a98b0af2ddc1765ab59c16c8994c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com> +Date: Tue, 17 Nov 2015 16:51:27 +0000 +Subject: [PATCH] Properly handle drain requests while flushing + +Without this commit the decoder streaming thread stops without ever attending +the drain request, leaving the decoder input thread waiting forever. + +--- + omx/gstomx.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/omx/gstomx.c b/omx/gstomx.c +index 038ce32..5202d33 100644 +--- a/omx/gstomx.c ++++ b/omx/gstomx.c +@@ -1011,6 +1011,13 @@ gst_omx_component_new (GstObject * parent, const gchar * core_name, + + g_mutex_lock (&comp->lock); + gst_omx_component_handle_messages (comp); ++ ++ if (err != OMX_ErrorNone && comp->last_error == OMX_ErrorNone) { ++ GST_ERROR_OBJECT (comp->parent, ++ "Last operation returned an error. Setting last_error manually."); ++ comp->last_error = err; ++ } ++ + g_mutex_unlock (&comp->lock); + + return comp; |