mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-11 17:55:21 +00:00
qsvdec: avoid an infinite loop with no consumed data and no output
This is triggerable with the HEVC decoder. It is unclear yet whether the bug is in the calling code or the MSDK, but it seems better to check for this in any case.
This commit is contained in:
parent
c9edbe4af9
commit
aa9d15d89b
@ -245,6 +245,13 @@ int ff_qsv_decode(AVCodecContext *avctx, QSVContext *q,
|
||||
return ff_qsv_error(ret);
|
||||
}
|
||||
|
||||
/* make sure we do not enter an infinite loop if the SDK
|
||||
* did not consume any data and did not return anything */
|
||||
if (!sync && !bs.DataOffset) {
|
||||
av_log(avctx, AV_LOG_WARNING, "A decode call did not consume any data\n");
|
||||
bs.DataOffset = avpkt->size;
|
||||
}
|
||||
|
||||
if (sync) {
|
||||
QSVFrame *out_frame = find_frame(q, outsurf);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user