From 64efcc4c78a6ef388b038955147946eb0fe8bd3c Mon Sep 17 00:00:00 2001 From: Lynne Date: Tue, 13 Jun 2023 04:04:28 +0200 Subject: [PATCH] pthread_frame: uninit the hwaccel of each frame thread The issue is that with a threadsafe hwaccel and multiple enabled frame threads, hwaccel->uninit() is never called. Previously, the function was guaranteed to never have any threads with hwaccel contexts, so it never bothered to uninit it. --- libavcodec/pthread_frame.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c index 28335231fd..bdc1718ab3 100644 --- a/libavcodec/pthread_frame.c +++ b/libavcodec/pthread_frame.c @@ -751,6 +751,8 @@ void ff_frame_thread_free(AVCodecContext *avctx, int thread_count) if (codec->close && p->thread_init != UNINITIALIZED) codec->close(ctx); + ff_hwaccel_uninit(ctx); + if (ctx->priv_data) { if (codec->p.priv_class) av_opt_free(ctx->priv_data); -- 2.40.1