[Bug 758274] gst-omx: video decoder blocks the pipeline when a drain request is issued during flush

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Nov 18 05:19:30 PST 2015


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

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |slomo at coaxion.net
         Resolution|---                         |FIXED

--- Comment #4 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
commit 271093d6338f01501fc0bb1965e90f6b441f62fb
Author: Enrique Ocaña González <eocanha at igalia.com>
Date:   Wed Nov 18 13:00:28 2015 +0000

    Remember the last_error after a failed set state call to avoid blocking the
next get state call

    gst_omx_video_dec_flush() blocks forever in
   
http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
    when the previous call to gst_omx_component_set_state() fails in
   
http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
    To mitigate that, I set "last_error" to true, so the code in
   
http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
    exits early and doesn't block.

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

commit d1a79d7c591fbe68f2048bcfb02a14ba49c312e4
Author: Enrique Ocaña González <eocanha at igalia.com>
Date:   Wed Nov 18 12:59:59 2015 +0000

    Properly handle drain requests while flushing

    Without this commit the decoder streaming thread stops without ever
attending
    the drain request, leaving the decoder input thread waiting forever.

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

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