summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-03-06 10:39:58 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-03-06 10:39:58 +0000
commitd4748622fa98dcc5cb4cecc77655bec7476b8387 (patch)
treeeab2f177045d0590c4b77ff8c386628d627cc62b /libvo
parent658bcd5e35b04de1a7fb0c2c8178ca8e37b2b1fa (diff)
downloadmpv-d4748622fa98dcc5cb4cecc77655bec7476b8387.tar.bz2
mpv-d4748622fa98dcc5cb4cecc77655bec7476b8387.tar.xz
As for vo_gl, do not rely on draw_osd to render EOSD.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28840 b3059339-0415-0410-9bf9-f77b7e298cf2
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)