It appears in this case, frames_ininit is called twice (once by
av_hwframe_ctx_init(), and again by unreffing the frames ctx ref).
---
Not sure if that's correct. Or if it could happen with certain other
decoders.
---
libavutil/hwcontext_d3d11va.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c
index 3940502868..5622bb8d34 100644
--- a/libavutil/hwcontext_d3d11va.c
+++ b/libavutil/hwcontext_d3d11va.c
@@ -72,9 +72,11 @@ static void d3d11va_frames_uninit(AVHWFramesContext *ctx)
if (frames_hwctx->texture)
ID3D11Texture2D_Release(frames_hwctx->texture);
+ frames_hwctx->texture = NULL;
if (s->staging_texture)
ID3D11Texture2D_Release(s->staging_texture);
+ s->staging_texture = NULL;
}
static void free_texture(void *opaque, uint8_t *data)
--
2.11.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel