summaryrefslogtreecommitdiffstats
path: root/video/out/vo_xv.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/vo_xv.c')
-rw-r--r--video/out/vo_xv.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/video/out/vo_xv.c b/video/out/vo_xv.c
index 870c3a1082..3e139b68b2 100644
--- a/video/out/vo_xv.c
+++ b/video/out/vo_xv.c
@@ -672,7 +672,10 @@ static void draw_image(struct vo *vo, mp_image_t *mpi)
struct mp_osd_res res = osd_res_from_image_params(vo->params);
osd_draw_on_image(vo->osd, res, mpi ? mpi->pts : 0, 0, &xv_buffer);
- mp_image_setrefp(&ctx->original_image, mpi);
+ if (mpi != ctx->original_image) {
+ talloc_free(ctx->original_image);
+ ctx->original_image = mpi;
+ }
}
static int redraw_frame(struct vo *vo)