From d4748622fa98dcc5cb4cecc77655bec7476b8387 Mon Sep 17 00:00:00 2001 From: reimar Date: Fri, 6 Mar 2009 10:39:58 +0000 Subject: 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 --- libvo/vo_vdpau.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libvo/vo_vdpau.c') 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) -- cgit v1.2.3