diff options
author | Anton Khirnov <anton@khirnov.net> | 2023-06-20 16:10:10 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2023-07-07 12:07:24 +0200 |
commit | b54603a26a53bfd89fd19b97308e64f4fbeef4b3 (patch) | |
tree | 43e6c5b9ff88895f10502f0aa8b49b9adb8d2991 | |
parent | 69516ab3e917a6e91d26e38d04183c60fd71cbab (diff) | |
download | ffmpeg-b54603a26a53bfd89fd19b97308e64f4fbeef4b3.tar.gz |
lavc/decode: do not perform decoding when sending draining packets
This way decoding errors will not be returned when the user starts
draining the decoder, avoiding confusion over whether draining did or
did not start.
Fixes failures of fate-h264-attachment-631 for certain numbers of frame
threads (e.g. 5).
-rw-r--r-- | libavcodec/decode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/decode.c b/libavcodec/decode.c index 89c3c2a48d..269633ce10 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -674,7 +674,7 @@ int attribute_align_arg avcodec_send_packet(AVCodecContext *avctx, const AVPacke } else dc->draining_started = 1; - if (!avci->buffer_frame->buf[0]) { + if (!avci->buffer_frame->buf[0] && !dc->draining_started) { ret = decode_receive_frame_internal(avctx, avci->buffer_frame); if (ret < 0 && ret != AVERROR(EAGAIN) && ret != AVERROR_EOF) return ret; |