[Bug 778830] v4l2dec: Fix race when going from PAUSED to READY

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Feb 17 15:03:30 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=778830

Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #346071|none                        |needs-work
             status|                            |

--- Comment #2 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
Review of attachment 346071:
 --> (https://bugzilla.gnome.org/review?bug=778830&attachment=346071)

Have you tested some aggressive seeks (where we don't wait for the seek to
complete) ? This patch needs work since it make
gst_v4l2_video_dec_loop_stopped() and some other code useless. It's all
complicated, and I never found a good solution. What happens is that sometimes,
the pad task will stop before gst_v4l2_video_dec_loop() is called. In this
case, we ended up with bugs, since the handle_frame() should return FLUSHING.

I think I was confused when I wrote this. Later Philipp Zabel found that we can
read and sync on the pad task state. This is being used in _finish() function.
I think the right solution is to completely remove this processing state and to
use the pad state instead to detect early flush (while _process() is being
called).

-- 
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