• 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
APIchanges 116 KB