summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
Diffstat (limited to 'libvo')
-rw-r--r--libvo/vo_vdpau.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libvo/vo_vdpau.c b/libvo/vo_vdpau.c
index 4f43c504bd..c40c28d4ff 100644
--- a/libvo/vo_vdpau.c
+++ b/libvo/vo_vdpau.c
@@ -205,6 +205,8 @@ static VdpProcamp procamp;
static int visible_buf;
static int int_pause;
+static void draw_eosd(void);
+
static void video_to_output_surface(void)
{
VdpTime dummy;
@@ -219,6 +221,7 @@ static void video_to_output_surface(void)
int field = VDP_VIDEO_MIXER_PICTURE_STRUCTURE_FRAME;
VdpOutputSurface output_surface;
if (i) {
+ draw_eosd();
draw_osd();
flip_page();
}
@@ -657,7 +660,7 @@ static void generate_eosd(mp_eosd_images_t *imgs) {
// Nothing changed, no need to redraw
if (imgs->changed == 0)
- return;
+ goto eosd_draw_only;
eosd_render_count = 0;
// There's nothing to render!
if (!img)
@@ -736,6 +739,8 @@ eosd_skip_upload:
eosd_targets[eosd_render_count].source.y1 = i->h;
eosd_render_count++;
}
+eosd_draw_only:
+ draw_eosd();
}
static void draw_osd(void)