[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