summaryrefslogtreecommitdiffstats
path: root/video/out/vo_vaapi.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-06-17 23:05:50 +0200
committerwm4 <wm4@nowhere>2014-06-17 23:05:50 +0200
commit90cd5aa8c8950406b335dfb34c01b0fdae833da9 (patch)
tree9f65edaac3b6e0c89b4981e42e0ee02142ab049b /video/out/vo_vaapi.c
parent84eebc6e4eb0a8731ca07e387749fd7167624bfd (diff)
downloadmpv-90cd5aa8c8950406b335dfb34c01b0fdae833da9.tar.bz2
mpv-90cd5aa8c8950406b335dfb34c01b0fdae833da9.tar.xz
vo: make draw_image and vo_queue_image transfer image ownership
Basically a cosmetic change. This is probably more intuitive.
Diffstat (limited to 'video/out/vo_vaapi.c')
-rw-r--r--video/out/vo_vaapi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/video/out/vo_vaapi.c b/video/out/vo_vaapi.c
index c1c34370fd..caf383c3f4 100644
--- a/video/out/vo_vaapi.c
+++ b/video/out/vo_vaapi.c
@@ -280,13 +280,15 @@ static void draw_image(struct vo *vo, struct mp_image *mpi)
struct mp_image *dst = p->swdec_surfaces[p->output_surface];
if (!dst || va_surface_upload(dst, mpi) < 0) {
MP_WARN(vo, "Could not upload surface.\n");
+ talloc_free(mpi);
return;
}
mp_image_copy_attributes(dst, mpi);
mpi = dst;
}
- mp_image_setrefp(&p->output_surfaces[p->output_surface], mpi);
+ talloc_free(p->output_surfaces[p->output_surface]);
+ p->output_surfaces[p->output_surface] = mpi;
draw_osd(vo);
}