From a05ed0363139694d1b4eece5ea54346de64265e1 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 27 Nov 2004 10:12:20 +0100 Subject: [PATCH] Re-introduced a sleep to cDvbPlayer::Action() to avoid high CPU load in still picture mode --- CONTRIBUTORS | 2 ++ HISTORY | 4 +++- dvbplayer.c | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 57af7677..e6effd04 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -890,6 +890,8 @@ Reinhard Nissl for reporting a a crash in the time search mechanism for taking the complete size of available data into account when deciding whether to clear the transfer buffer to avoid overflows + for reporting a high CPU load in still picture mode after removing the usleep() + call from cDvbPlayer::Action() Richard Robson for reporting freezing replay if a timer starts while in Transfer Mode from the diff --git a/HISTORY b/HISTORY index ae3a5562..325a9af5 100644 --- a/HISTORY +++ b/HISTORY @@ -3160,10 +3160,12 @@ Video Disk Recorder Revision History right day of week for timers in the future. - Some improvements to cPoller (thanks to Marco Schlüßler). -2004-11-26: Version 1.3.18 +2004-11-27: Version 1.3.18 - Removed an unused variable from cTimer::GetWDayFromMDay() (thanks to Wayne Keer for reporting this one). - Some more changes to the 'childTid' handling in cThread (based on suggestions by Stefan Huelswitt). - Fixed the spelling of 'canceling' (thanks to Wayne Keer for reporting this one). +- Re-introduced a sleep to cDvbPlayer::Action() to avoid high CPU load in still + picture mode (thanks to Reinhard Nissl for reporting this one). diff --git a/dvbplayer.c b/dvbplayer.c index d583fe6b..99a9aad9 100644 --- a/dvbplayer.c +++ b/dvbplayer.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbplayer.c 1.26 2004/10/23 12:39:35 kls Exp $ + * $Id: dvbplayer.c 1.27 2004/11/27 10:07:05 kls Exp $ */ #include "dvbplayer.h" @@ -490,6 +490,8 @@ void cDvbPlayer::Action(void) break; } } + else + cCondWait::SleepMs(1); // this keeps the CPU load low } // Store the frame in the buffer: