[FFmpeg-devel] [PATCH 9/9] lavc/decode: do not perform decoding when sending draining packets
Anton Khirnov
anton at khirnov.net
Tue Jun 20 17:16:08 EEST 2023
This way decoding error 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).
---
libavcodec/decode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index 8d892432be..67f2f052e5 100644
--- a/libavcodec/decode.c
+++ b/libavcodec/decode.c
@@ -665,7 +665,7 @@ int attribute_align_arg avcodec_send_packet(AVCodecContext *avctx, const AVPacke
} else
avci->d->draining_started = 1;
- if (!avci->buffer_frame->buf[0]) {
+ if (!avci->buffer_frame->buf[0] && !avci->d->draining_started) {
ret = decode_receive_frame_internal(avctx, avci->buffer_frame);
if (ret < 0 && ret != AVERROR(EAGAIN) && ret != AVERROR_EOF)
return ret;
--
2.40.1
More information about the ffmpeg-devel
mailing list