summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-04-29 15:09:26 +0200
committerwm4 <wm4@nowhere>2017-04-29 15:09:40 +0200
commitb5b3aadf40b5a94d79b4ec3f1d3a1892eba01f6a (patch)
treee4b98c4c30f268c21eb58a6a40ed06b5d67935d3 /video
parent142b2f23d429389a0b5acd674b376a06953f9129 (diff)
downloadmpv-b5b3aadf40b5a94d79b4ec3f1d3a1892eba01f6a.tar.bz2
mpv-b5b3aadf40b5a94d79b4ec3f1d3a1892eba01f6a.tar.xz
vdpau, vaapi: unref libavutil device ref
It's a simple memory leak. (The API objects were destroyed anyway.)
Diffstat (limited to 'video')
-rw-r--r--video/vaapi.c2
-rw-r--r--video/vdpau.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/video/vaapi.c b/video/vaapi.c
index 171ccdfcbd..76a197cca2 100644
--- a/video/vaapi.c
+++ b/video/vaapi.c
@@ -224,6 +224,8 @@ error:
void va_destroy(struct mp_vaapi_ctx *ctx)
{
if (ctx) {
+ av_buffer_unref(&ctx->av_device_ref);
+
if (ctx->display)
vaTerminate(ctx->display);
diff --git a/video/vdpau.c b/video/vdpau.c
index 8895053249..fa79e9bc67 100644
--- a/video/vdpau.c
+++ b/video/vdpau.c
@@ -481,6 +481,8 @@ void mp_vdpau_destroy(struct mp_vdpau_ctx *ctx)
CHECK_VDP_WARNING(ctx, "Error when calling vdp_output_surface_destroy");
}
+ av_buffer_unref(&ctx->av_device_ref);
+
if (ctx->preemption_obj != VDP_INVALID_HANDLE) {
vdp_st = vdp->output_surface_destroy(ctx->preemption_obj);
CHECK_VDP_WARNING(ctx, "Error when calling vdp_output_surface_destroy");