[Bug 730989] omxdec: Get stuck while doing ctrl+c during preroll

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri May 30 07:09:16 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=730989
  GStreamer | gst-omx | 1.3.1

--- Comment #5 from Aurélien Zanelli <aurelien.zanelli at parrot.com> 2014-05-30 14:09:08 UTC ---
(In reply to comment #4)
> Just a note, I've had to fix the same pattern in v4l2videodec (didn't check
> OMX). The loop thread is a pad task, hence it's holding on the stream lock. We
> cannot rely on GstVideoDecoder::stop() as it's called after trying to
> deactivate the pad. When we try to deactivate the pad, the loop is still
> holding on the stream lock, so deactivate will block on that:
> 
> gstpad.c:957
>       GST_PAD_STREAM_LOCK (pad); <-- ** Here **
>       GST_DEBUG_OBJECT (pad, "stopped streaming");
>       GST_OBJECT_LOCK (pad);
>       remove_events (pad);
>       GST_OBJECT_UNLOCK (pad);
>       GST_PAD_STREAM_UNLOCK (pad);
> 
> So what I did, is to override the state change virtual, and before chaining to
> the base class, I do what's needed to make by loop exit. The base class could
> be improved, but this fixed it.

I take a look and try the same solution that you did in v4l2videodec.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list