You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
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 any.
This commit is contained in:
@@ -751,6 +751,10 @@ void ff_frame_thread_free(AVCodecContext *avctx, int thread_count)
|
|||||||
if (codec->close && p->thread_init != UNINITIALIZED)
|
if (codec->close && p->thread_init != UNINITIALIZED)
|
||||||
codec->close(ctx);
|
codec->close(ctx);
|
||||||
|
|
||||||
|
/* When using a threadsafe hwaccel, this is where
|
||||||
|
* each thread's context is uninit'd and freed. */
|
||||||
|
ff_hwaccel_uninit(ctx);
|
||||||
|
|
||||||
if (ctx->priv_data) {
|
if (ctx->priv_data) {
|
||||||
if (codec->p.priv_class)
|
if (codec->p.priv_class)
|
||||||
av_opt_free(ctx->priv_data);
|
av_opt_free(ctx->priv_data);
|
||||||
|
Reference in New Issue
Block a user