1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Avoiding flashing effects in the OSD of full featured DVB cards by explicitly clearing the OSD windows before opening them

This commit is contained in:
Klaus Schmidinger 2004-07-18 10:20:31 +02:00
parent 35724f07bd
commit 39ad1fe179
3 changed files with 13 additions and 1 deletions

View File

@ -1032,6 +1032,8 @@ Marco Schl
for pointing out that it is unnecessary to add section filters to the list of for pointing out that it is unnecessary to add section filters to the list of
filters if they can't be opened filters if they can't be opened
for fixing handling error case '-1' when polling section filters for fixing handling error case '-1' when polling section filters
for suggesting to avoiding flashing effects in the OSD of full featured DVB cards
by explicitly clearing the OSD windows before opening them
Jürgen Schmitz <j.schmitz@web.de> Jürgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP for reporting a bug in displaying the current channel when switching via the SVDRP

View File

@ -2954,3 +2954,5 @@ Video Disk Recorder Revision History
- Fixed handling error case '-1' when polling CAM connections. - Fixed handling error case '-1' when polling CAM connections.
- Making sure the OSD reports oeWrongAlignment errors before any oeAreasOverlap - Making sure the OSD reports oeWrongAlignment errors before any oeAreasOverlap
error (suggested by Reinhard Nissl). error (suggested by Reinhard Nissl).
- Avoiding flashing effects in the OSD of full featured DVB cards by explicitly
clearing the OSD windows before opening them (suggested by Marco Schlüßler).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "dvbosd.h"
@ -39,6 +39,14 @@ cDvbOsd::cDvbOsd(int Left, int Top, int OsdDev)
shown = false; shown = false;
if (osdDev < 0) if (osdDev < 0)
esyslog("ERROR: illegal OSD device handle (%d)!", osdDev); 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() cDvbOsd::~cDvbOsd()