mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-28 20:53:54 +02:00
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.
Merges Libav commit fd0fae60
.
Signed-off-by: wm4 <nfxjfg@googlemail.com>
This commit is contained in:
parent
98f89d615b
commit
fb69a8e1f1
@ -620,8 +620,11 @@ void ff_frame_thread_free(AVCodecContext *avctx, int thread_count)
|
||||
av_freep(&p->avctx->slice_offset);
|
||||
}
|
||||
|
||||
if (p->avctx)
|
||||
if (p->avctx) {
|
||||
av_freep(&p->avctx->internal);
|
||||
av_buffer_unref(&p->avctx->hw_frames_ctx);
|
||||
}
|
||||
|
||||
av_freep(&p->avctx);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user