summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
Diffstat (limited to 'video')
-rw-r--r--video/out/vo_xv.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/video/out/vo_xv.c b/video/out/vo_xv.c
index 7a454e33c4..de1f3a4855 100644
--- a/video/out/vo_xv.c
+++ b/video/out/vo_xv.c
@@ -388,19 +388,6 @@ static void draw_osd(struct vo *vo, struct osd_state *osd)
osd_draw_on_image(osd, res, osd->vo_pts, 0, &img);
}
-static int redraw_frame(struct vo *vo)
-{
- struct xvctx *ctx = vo->priv;
-
- if (!ctx->original_image)
- return false;
-
- struct mp_image img = get_xv_buffer(vo, ctx->visible_buf);
- mp_image_copy(&img, ctx->original_image);
- ctx->current_buf = ctx->visible_buf;
- return true;
-}
-
static void flip_page(struct vo *vo)
{
struct xvctx *ctx = vo->priv;
@@ -436,6 +423,17 @@ static void draw_image(struct vo *vo, mp_image_t *mpi)
mp_image_setrefp(&ctx->original_image, mpi);
}
+static int redraw_frame(struct vo *vo)
+{
+ struct xvctx *ctx = vo->priv;
+
+ if (!ctx->original_image)
+ return false;
+
+ draw_image(vo, ctx->original_image);
+ return true;
+}
+
static int query_format(struct vo *vo, uint32_t format)
{
struct xvctx *ctx = vo->priv;