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
