diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2004-07-18 10:20:31 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2004-07-18 10:20:31 +0200 |
commit | 39ad1fe179b66bedb7662ad0443633b0a085316a (patch) | |
tree | a58c842a8fc63cfc825b82e12dd57f8b9aad46ff /dvbosd.c | |
parent | 35724f07bd27020882b59cbc3e5c157d52b9cfda (diff) | |
download | vdr-39ad1fe179b66bedb7662ad0443633b0a085316a.tar.gz vdr-39ad1fe179b66bedb7662ad0443633b0a085316a.tar.bz2 |
Avoiding flashing effects in the OSD of full featured DVB cards by explicitly clearing the OSD windows before opening them
Diffstat (limited to 'dvbosd.c')
-rw-r--r-- | dvbosd.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -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() |