changeset 28805:b382d065ba53

As for vo_gl, do not rely on draw_osd to render EOSD.
author reimar
date Fri, 06 Mar 2009 10:39:58 +0000
parents 5ccdec6c14f0
children 77d1e5749a09
files libvo/vo_vdpau.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_vdpau.c	Fri Mar 06 10:38:27 2009 +0000
+++ b/libvo/vo_vdpau.c	Fri Mar 06 10:39:58 2009 +0000
@@ -205,6 +205,8 @@
 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 @@
         int field = VDP_VIDEO_MIXER_PICTURE_STRUCTURE_FRAME;
         VdpOutputSurface output_surface;
         if (i) {
+            draw_eosd();
             draw_osd();
             flip_page();
         }
@@ -657,7 +660,7 @@
 
     // 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_targets[eosd_render_count].source.y1 = i->h;
         eosd_render_count++;
     }
+eosd_draw_only:
+    draw_eosd();
 }
 
 static void draw_osd(void)