From 39ad1fe179b66bedb7662ad0443633b0a085316a Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 18 Jul 2004 10:20:31 +0200 Subject: Avoiding flashing effects in the OSD of full featured DVB cards by explicitly clearing the OSD windows before opening them --- dvbosd.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'dvbosd.c') diff --git a/dvbosd.c b/dvbosd.c index 8056499f..39032fd7 100644 --- a/dvbosd.c +++ b/dvbosd.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbosd.c 1.23 2004/06/12 13:10:03 kls Exp $ + * $Id: dvbosd.c 1.24 2004/07/18 10:20:05 kls Exp $ */ #include "dvbosd.h" @@ -39,6 +39,14 @@ cDvbOsd::cDvbOsd(int Left, int Top, int OsdDev) shown = false; if (osdDev < 0) esyslog("ERROR: illegal OSD device handle (%d)!", osdDev); + else { + // must clear all windows here to avoid flashing effects - doesn't work if done + // in Flush() only for the windows that are actually used... + for (int i = 0; i < MAXNUMWINDOWS; i++) { + Cmd(OSD_SetWindow, 0, i + 1); + Cmd(OSD_Clear); + } + } } cDvbOsd::~cDvbOsd() -- cgit v1.2.3