diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index f19ca760c8dba8874202c3b7a9e96853a71307a2..cda11fac8f748f8f052bc2009d6234ad6d691f75 100644 --- a/libavcodec/qsvenc.c +++ b/libavcodec/qsvenc.c @@ -919,7 +919,9 @@ int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext *q, av_fifo_generic_read(q->async_fifo, &sync, sizeof(sync), NULL); av_fifo_generic_read(q->async_fifo, &bs, sizeof(bs), NULL); - MFXVideoCORE_SyncOperation(q->session, sync, 60000); + do { + ret = MFXVideoCORE_SyncOperation(q->session, sync, 1000); + } while (ret == MFX_WRN_IN_EXECUTION); new_pkt.dts = av_rescale_q(bs->DecodeTimeStamp, (AVRational){1, 90000}, avctx->time_base); new_pkt.pts = av_rescale_q(bs->TimeStamp, (AVRational){1, 90000}, avctx->time_base);