• Guillaume Desmottes's avatar
    omx: wait for flush complete and buffers being released when flushing · ba3f947f
    Guillaume Desmottes authored
    When flusing we should wait for OMX to send the flush command complete event
    AND all ports being released.
    We were stopping as soon as one of those condition was met.
    
    Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
    EventCmdComplete messages. The OMX implementation is supposed to release
    its buffers before posting the EventCmdComplete event but the ordering
    isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
    EventHandler callbacks can be called from different threads (cf 2.7
    'Thread Safety' in the spec).
    
    Only wait for buffers currently used by OMX as some buffers may not be
    in the pending queue because they are held downstream.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=789475
    ba3f947f
Name
Last commit
Last update
common @ 3fa2c9e3 Loading commit data...
config Loading commit data...
examples Loading commit data...
hooks Loading commit data...
m4 Loading commit data...
omx Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
RELEASE Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
gst-omx.doap Loading commit data...
meson.build Loading commit data...
meson_options.txt Loading commit data...