summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/decode/vaapi.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/video/decode/vaapi.c b/video/decode/vaapi.c
index d4b1c41840..9142bc2a62 100644
--- a/video/decode/vaapi.c
+++ b/video/decode/vaapi.c
@@ -334,11 +334,12 @@ static struct mp_image *allocate_image(struct lavc_ctx *ctx, int format,
static void destroy_va_dummy_ctx(struct priv *p)
{
+ va_destroy(p->ctx);
+ p->ctx = NULL;
+ p->display = NULL;
if (p->x11_display)
XCloseDisplay(p->x11_display);
p->x11_display = NULL;
- va_destroy(p->ctx);
- p->ctx = NULL;
}
// Creates a "private" VADisplay, disconnected from the VO. We just create a
@@ -372,6 +373,7 @@ static void uninit(struct lavc_ctx *ctx)
destroy_decoder(ctx);
va_surface_pool_release(p->pool);
+ p->pool = NULL;
if (p->x11_display)
destroy_va_dummy_ctx(p);