• James Cowgill's avatar
    avcodec/decode: reset codec on receiving packet after EOF in compat_decode · 02ba4b91
    James Cowgill authored
    In commit 061a0c14 ("decode: restructure the core decoding code"), the
    deprecated avcodec_decode_* APIs were reworked so that they called into the
    new avcodec_send_packet / avcodec_receive_frame API. This had the side effect
    of prohibiting sending new packets containing data after a drain
    packet, but in previous versions of FFmpeg this "worked" and some
    applications relied on it.
    
    To restore some compatibility, reset the codec if we receive a new non-drain
    packet using the old API after draining has completed. While this does
    not give the same behaviour as the old API did, in the majority of cases
    it works and it does not require changes to any other part of the decoding
    code.
    
    Fixes ticket #6775
    Signed-off-by: 's avatarJames Cowgill <jcowgill@debian.org>
    Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
    02ba4b91
decode.c 64.4 KB