• Aman Gupta's avatar
    avcodec/mediacodecdec: add delay_flush option · 2a0eb868
    Aman Gupta authored
    The default behavior of the mediacodec decoder before this commit
    was to delay flushes until all pending hardware frames were
    returned to the decoder. This was useful for certain types of
    applications, but was unexpected behavior for others.
    
    The new default behavior with this commit is now to execute
    flushes immediately to invalidate all pending frames. The old
    behavior can be enabled by setting delay_flush=1.
    
    With the new behavior, video players implementing seek can simply
    call flush on the decoder without having to worry about whether
    they have one or more mediacodec frames still buffered in their
    rendering pipeline. Previously, all these frames had to be
    explictly freed (or rendered) before the seek/flush would execute.
    
    The new behavior matches the behavior of all other lavc decoders,
    reducing the amount of special casing required when using the
    mediacodec decoder.
    Signed-off-by: 's avatarAman Gupta <aman@tmm1.net>
    Signed-off-by: 's avatarMatthieu Bouron <matthieu.bouron@gmail.com>
    2a0eb868
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
ffbuild Loading commit data...
fftools Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING.md Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
configure Loading commit data...