# HG changeset patch # User reimar # Date 1236335998 0 # Node ID b382d065ba53337dd66035c4d71c3eb10a89d9b6 # Parent 5ccdec6c14f04f0d734b4c9bd17f1d506253a12e As for vo_gl, do not rely on draw_osd to render EOSD. diff -r 5ccdec6c14f0 -r b382d065ba53 libvo/vo_vdpau.c --- 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)