mirror of
git://git.yoctoproject.org/meta-raspberrypi.git
synced 2025-07-05 05:04:45 +02:00

There is new patch-status QA check in oe-core: https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a This is temporary work around just to hide _many_ warnings from optional patch-status (if you add it to WARN_QA). This just added Upstream-Status: Pending everywhere without actually investigating what's the proper status. This is just to hide current QA warnings and to catch new .patch files being added without Upstream-Status, but the number of Pending patches is now terrible: Patches in Pending state: 41 (57%) With recent change to enable patch-status not only for all .patch files in oe-core, but for all recipes from oe-core: https://git.openembedded.org/openembedded-core/commit/?id=61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3 this causes bluez5 do_patch failures as reported in: https://lists.openembedded.org/g/openembedded-core/message/183177 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
51 lines
1.6 KiB
Diff
51 lines
1.6 KiB
Diff
From 160181edf5fc73288abfe99fa04de4a550cd9c65 Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
Date: Thu, 11 Feb 2016 12:53:20 -0800
|
|
Subject: [PATCH] Don't try to acquire buffer when src pad isn't active
|
|
|
|
From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
|
|
|
|
This solves a race condition when setting the pipeline from PAUSE to
|
|
NULL while the decoder loop is still running. Without this patch, the
|
|
thread which interacts with the decode sink pad gets blocked here:
|
|
|
|
gst_element_change_state()
|
|
gst_element_change_state_func()
|
|
gst_element_pads_activate() --> Deactivating pads
|
|
activate_pads()
|
|
gst_pad_set_active()
|
|
gst_pad_activate_mode()
|
|
post_activate()
|
|
GST_PAD_STREAM_LOCK()
|
|
|
|
while gst_omx_port_acquire_buffer() gets stalled forever in
|
|
gst_omx_component_wait_message() waiting for a message that will never
|
|
arrive:
|
|
|
|
gst_omx_video_dec_loop()
|
|
gst_omx_port_acquire_buffer()
|
|
gst_omx_component_wait_message()
|
|
|
|
---
|
|
Upstream-Status: Pending
|
|
|
|
omx/gstomxvideodec.c | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
|
|
index abe6e30..c4dc33f 100644
|
|
--- a/omx/gstomxvideodec.c
|
|
+++ b/omx/gstomxvideodec.c
|
|
@@ -1598,6 +1598,11 @@ gst_omx_video_dec_loop (GstOMXVideoDec * self)
|
|
GstOMXAcquireBufferReturn acq_return;
|
|
OMX_ERRORTYPE err;
|
|
|
|
+ if (!gst_pad_is_active(GST_VIDEO_DECODER_SRC_PAD (self))) {
|
|
+ GST_DEBUG_OBJECT (self, "Src pad not active, not acquiring buffer and flushing instead");
|
|
+ goto flushing;
|
|
+ }
|
|
+
|
|
#if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL)
|
|
port = self->eglimage ? self->egl_out_port : self->dec_out_port;
|
|
#else
|