Otherwise, closing the encoder can crash.
---
libavcodec/nvenc.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index 02cb8b4..c151ad5 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -825,6 +825,14 @@ av_cold int ff_nvenc_encode_close(AVCodecContext *avctx)
NV_ENCODE_API_FUNCTION_LIST *nv = &ctx->nvel.nvenc_funcs;
int i;
+ /* the encoder has to be flushed before it can be closed */
+ if (ctx->nvenc_ctx) {
+ NV_ENC_PIC_PARAMS params = { .version =
NV_ENC_PIC_PARAMS_VER,
+ .encodePicFlags =
NV_ENC_PIC_FLAG_EOS };
+
+ nv->nvEncEncodePicture(ctx->nvenc_ctx, ¶ms);
+ }
+
av_fifo_free(ctx->timestamps);
av_fifo_free(ctx->pending);
av_fifo_free(ctx->ready);
--
2.0.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel