mirror of https://git.ffmpeg.org/ffmpeg.git
pthread_frame: Unreference hw_frames_ctx on per-thread codec contexts
When decoding with threads enabled, the get_format callback will be called with one of the per-thread codec contexts rather than with the outer context. If a hwaccel is in use too, this will add a reference to the hardware frames context on that codec context, which will then propagate to all of the other per-thread contexts for decoding. Once the decoder finishes, however, the per-thread contexts are not freed normally, so these references leak.
This commit is contained in:
parent
11623217e3
commit
fd0fae6037
|
@ -571,6 +571,8 @@ void ff_frame_thread_free(AVCodecContext *avctx, int thread_count)
|
||||||
av_freep(&p->avctx->slice_offset);
|
av_freep(&p->avctx->slice_offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
av_buffer_unref(&p->avctx->hw_frames_ctx);
|
||||||
|
|
||||||
av_freep(&p->avctx->internal);
|
av_freep(&p->avctx->internal);
|
||||||
av_freep(&p->avctx);
|
av_freep(&p->avctx);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue