diff options
Diffstat (limited to 'video')
-rw-r--r-- | video/decode/vaapi.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/video/decode/vaapi.c b/video/decode/vaapi.c index 2b951fd1bb..0e88b86c76 100644 --- a/video/decode/vaapi.c +++ b/video/decode/vaapi.c @@ -317,11 +317,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 @@ -355,6 +356,9 @@ static void uninit(struct lavc_ctx *ctx) destroy_decoder(ctx); + talloc_free(p->pool); + p->pool = NULL; + if (p->x11_display) destroy_va_dummy_ctx(p); |