mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed a timing problem with OSD refresh and SVDRP
This commit is contained in:
parent
36d187f64c
commit
6bc436aeed
1
HISTORY
1
HISTORY
@ -275,3 +275,4 @@ Video Disk Recorder Revision History
|
|||||||
- Implemented "internationalization" (see 'i18n.c' for information on how to
|
- Implemented "internationalization" (see 'i18n.c' for information on how to
|
||||||
add new languages).
|
add new languages).
|
||||||
- Fixed learning keys on the PC keyboard (display oscillated).
|
- Fixed learning keys on the PC keyboard (display oscillated).
|
||||||
|
- Fixed a timing problem with OSD refresh and SVDRP.
|
||||||
|
15
interface.c
15
interface.c
@ -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: interface.c 1.30 2000/11/10 17:03:02 kls Exp $
|
* $Id: interface.c 1.31 2000/11/11 12:13:35 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "interface.h"
|
#include "interface.h"
|
||||||
@ -58,8 +58,7 @@ void cInterface::Close(void)
|
|||||||
|
|
||||||
unsigned int cInterface::GetCh(bool Wait, bool *Repeat, bool *Release)
|
unsigned int cInterface::GetCh(bool Wait, bool *Repeat, bool *Release)
|
||||||
{
|
{
|
||||||
if (open)
|
Flush();
|
||||||
cDvbApi::PrimaryDvbApi->Flush();
|
|
||||||
if (!rcIo->InputAvailable())
|
if (!rcIo->InputAvailable())
|
||||||
cFile::AnyFileReady(-1, Wait ? 1000 : 0);
|
cFile::AnyFileReady(-1, Wait ? 1000 : 0);
|
||||||
unsigned int Command;
|
unsigned int Command;
|
||||||
@ -68,6 +67,7 @@ unsigned int cInterface::GetCh(bool Wait, bool *Repeat, bool *Release)
|
|||||||
|
|
||||||
eKeys cInterface::GetKey(bool Wait)
|
eKeys cInterface::GetKey(bool Wait)
|
||||||
{
|
{
|
||||||
|
Flush();
|
||||||
if (SVDRP)
|
if (SVDRP)
|
||||||
SVDRP->Process();
|
SVDRP->Process();
|
||||||
eKeys Key = keyFromWait;
|
eKeys Key = keyFromWait;
|
||||||
@ -90,8 +90,7 @@ void cInterface::PutKey(eKeys Key)
|
|||||||
|
|
||||||
eKeys cInterface::Wait(int Seconds, bool KeepChar)
|
eKeys cInterface::Wait(int Seconds, bool KeepChar)
|
||||||
{
|
{
|
||||||
if (open)
|
Flush();
|
||||||
cDvbApi::PrimaryDvbApi->Flush();
|
|
||||||
eKeys Key = kNone;
|
eKeys Key = kNone;
|
||||||
time_t timeout = time(NULL) + Seconds;
|
time_t timeout = time(NULL) + Seconds;
|
||||||
for (;;) {
|
for (;;) {
|
||||||
@ -325,7 +324,7 @@ void cInterface::QueryKeys(void)
|
|||||||
WriteText(1, 1, tr("Learning Remote Control Keys"));
|
WriteText(1, 1, tr("Learning Remote Control Keys"));
|
||||||
WriteText(1, 3, tr("Phase 1: Detecting RC code type"));
|
WriteText(1, 3, tr("Phase 1: Detecting RC code type"));
|
||||||
WriteText(1, 5, tr("Press any key on the RC unit"));
|
WriteText(1, 5, tr("Press any key on the RC unit"));
|
||||||
cDvbApi::PrimaryDvbApi->Flush();
|
Flush();
|
||||||
#ifndef REMOTE_KBD
|
#ifndef REMOTE_KBD
|
||||||
unsigned char Code = 0;
|
unsigned char Code = 0;
|
||||||
unsigned short Address;
|
unsigned short Address;
|
||||||
@ -341,11 +340,11 @@ void cInterface::QueryKeys(void)
|
|||||||
Keys.address = Address;
|
Keys.address = Address;
|
||||||
WriteText(1, 5, tr("RC code detected!"));
|
WriteText(1, 5, tr("RC code detected!"));
|
||||||
WriteText(1, 6, tr("Do not press any key..."));
|
WriteText(1, 6, tr("Do not press any key..."));
|
||||||
cDvbApi::PrimaryDvbApi->Flush();
|
Flush();
|
||||||
rcIo->Flush(3000);
|
rcIo->Flush(3000);
|
||||||
ClearEol(0, 5);
|
ClearEol(0, 5);
|
||||||
ClearEol(0, 6);
|
ClearEol(0, 6);
|
||||||
cDvbApi::PrimaryDvbApi->Flush();
|
Flush();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user