gstreamer/omx
Guillaume Desmottes 4211e4c29a omx: wait for flush complete and buffers being released when flushing
As stated in the existing comment, 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).

https://bugzilla.gnome.org/show_bug.cgi?id=789475
2017-11-28 13:35:07 -05:00
..
openmax
gstomx.c omx: wait for flush complete and buffers being released when flushing 2017-11-28 13:35:07 -05:00
gstomx.h add gst_omx_buffer_flags_to_string() 2017-10-11 13:49:30 -04:00
gstomxaacdec.c omxaacdec: Do not accept unknown layouts 2015-09-01 16:13:00 -03:00
gstomxaacdec.h omx: Add AAC audio decoder 2014-07-13 18:22:39 +02:00
gstomxaacenc.c omxaacenc: let encoder know about incoming rate/channels 2017-01-20 13:37:46 -05:00
gstomxaacenc.h omxaacenc: Add initial version of OpenMAX AAC encoder element 2011-08-16 10:49:21 +02:00
gstomxamrdec.c omx: Add omxamrdec 2014-11-13 13:32:16 +01:00
gstomxamrdec.h omx: Add omxamrdec 2014-11-13 13:32:16 +01:00
gstomxanalogaudiosink.c omxaudiosink: Implements OpenMAX based audio sinks 2014-05-09 13:15:18 +02:00
gstomxanalogaudiosink.h omxaudiosink: Implements OpenMAX based audio sinks 2014-05-09 13:15:18 +02:00
gstomxaudiodec.c omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared 2017-08-17 14:01:27 +01:00
gstomxaudiodec.h omxaudiodec: Add an output adapter for chunking the output into codec frames 2015-05-19 19:14:42 +03:00
gstomxaudioenc.c omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared 2017-08-17 14:01:27 +01:00
gstomxaudioenc.h omx: Let base classes handle EOS 2014-08-14 17:36:11 +03:00
gstomxaudiosink.c omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare() 2014-07-20 17:47:50 +02:00
gstomxaudiosink.h omxaudiosink: Implements OpenMAX based audio sinks 2014-05-09 13:15:18 +02:00
gstomxbufferpool.c omxvideodec: add dmabuf support for output 2017-07-18 23:46:46 +01:00
gstomxbufferpool.h omxvideodec: add dmabuf support for output 2017-07-18 23:46:46 +01:00
gstomxh263dec.c omx: Add more constraints to the default sink template caps 2013-03-19 13:28:30 +01:00
gstomxh263dec.h
gstomxh263enc.c h263enc: fix caps leak in error code path 2017-09-28 13:24:07 +03:00
gstomxh263enc.h
gstomxh264dec.c h264dec: add hack to pass profile and level to OMX 2017-07-11 11:57:50 -04:00
gstomxh264dec.h
gstomxh264enc.c zynqultrascaleplus: add support for extra AVC levels 2017-11-23 11:39:33 -05:00
gstomxh264enc.h omxh264enc: add 'b-frames' property 2017-07-03 10:22:20 -04:00
gstomxh264utils.c zynqultrascaleplus: add support for extra AVC levels 2017-11-23 11:39:33 -05:00
gstomxh264utils.h omxh264enc: move profile and level parsing functions to their own files 2017-07-11 11:57:50 -04:00
gstomxh265dec.c omxh265dec: add H265 decoder 2017-09-06 14:50:18 -04:00
gstomxh265dec.h omxh265dec: add H265 decoder 2017-09-06 14:50:18 -04:00
gstomxh265enc.c omxh265: fix enum casting when using Allegro HEVC extensions 2017-10-19 16:19:16 +02:00
gstomxh265enc.h omxh265enc: add H265 encoder 2017-09-06 14:50:18 -04:00
gstomxh265utils.c omxh265: fix enum casting when using Allegro HEVC extensions 2017-10-19 16:19:16 +02:00
gstomxh265utils.h omxh265enc: add H265 encoder 2017-09-06 14:50:18 -04:00
gstomxhdmiaudiosink.c omxaudiosink: Implements OpenMAX based audio sinks 2014-05-09 13:15:18 +02:00
gstomxhdmiaudiosink.h omxaudiosink: Implements OpenMAX based audio sinks 2014-05-09 13:15:18 +02:00
gstomxmjpegdec.c omx: Add more constraints to the default sink template caps 2013-03-19 13:28:30 +01:00
gstomxmjpegdec.h omx: Add MJPEG decoder support 2013-03-18 16:34:51 +01:00
gstomxmp3dec.c omxaudiodec: Implement setting of fallback channel positions 2014-07-13 22:15:44 +02:00
gstomxmp3dec.h omx: Add audio decoder base class and a subclass for MP3 2014-07-02 09:21:00 +02:00
gstomxmp3enc.c omx: add gstomxmp3enc 2017-07-12 14:29:44 +01:00
gstomxmp3enc.h omx: add gstomxmp3enc 2017-07-12 14:29:44 +01:00
gstomxmpeg2videodec.c omx: Add more constraints to the default sink template caps 2013-03-19 13:28:30 +01:00
gstomxmpeg2videodec.h omx: Rename MPEG2 decoder for consistency everywhere 2013-03-18 16:34:51 +01:00
gstomxmpeg4videodec.c omx: Add more constraints to the default sink template caps 2013-03-19 13:28:30 +01:00
gstomxmpeg4videodec.h
gstomxmpeg4videoenc.c omx: more printf format fixes 2013-04-18 23:10:13 +01:00
gstomxmpeg4videoenc.h
gstomxtheoradec.c omx: Add more constraints to the default sink template caps 2013-03-19 13:28:30 +01:00
gstomxtheoradec.h omx: fix typo in copyright headers 2013-03-19 16:40:09 +00:00
gstomxvideo.c Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888 2016-12-13 11:18:43 +02:00
gstomxvideo.h omxvideo: Include the separate headers too for compatibility with 1.0.x 2014-06-24 10:22:37 +02:00
gstomxvideodec.c omxvideodec: remove redundant debug message 2017-10-19 16:20:10 +02:00
gstomxvideodec.h omxvideodec: factor out enable and disable code 2017-08-08 10:40:47 -04:00
gstomxvideoenc.c add gst_omx_buffer_flags_to_string() 2017-10-11 13:49:30 -04:00
gstomxvideoenc.h omxvideoenc: factor out enable and disable code 2017-08-08 10:40:47 -04:00
gstomxvp8dec.c properly cast extension enums 2017-10-19 16:19:16 +02:00
gstomxvp8dec.h omx: Only include OMX_VideoExt.h conditionally 2014-06-24 14:52:43 +02:00
gstomxwmvdec.c omx: Add more constraints to the default sink template caps 2013-03-19 13:28:30 +01:00
gstomxwmvdec.h
Makefile.am omxh265dec: add H265 decoder 2017-09-06 14:50:18 -04:00
meson.build omxh265dec: add H265 decoder 2017-09-06 14:50:18 -04:00