diff options
-rw-r--r-- | CONTRIBUTORS | 3 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | recorder.c | 6 |
3 files changed, 9 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 36ae8de8..d524a303 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1622,3 +1622,6 @@ Petri Hintukainen <Petri.Hintukainen@hut.fi> Marcel Schaeben <mts280@gmx.de> for his "Easy Input" patch + +Ingo Schneider <mail@ingo-schneider.de> + for adding a SleepMs() in cRecorder::Action() to avoid a busy loop @@ -4131,3 +4131,5 @@ Video Disk Recorder Revision History - Adapted c(Dvb)Device::ProvidesCa() to the dynamic CA handling. - Added a mutex to synchronize cDevice::PlayPesPacket() and SetCurrentAudioTrack() (thanks to Reinhard Nissl). +- Added a SleepMs() in cRecorder::Action() to avoid a busy loop (thanks to Ingo + Schneider). @@ -4,13 +4,13 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recorder.c 1.16 2005/10/31 12:35:29 kls Exp $ + * $Id: recorder.c 1.17 2006/01/08 11:01:25 kls Exp $ */ +#include "recorder.h" #include <stdarg.h> #include <stdio.h> #include <unistd.h> -#include "recorder.h" #define RECORDERBUFSIZE MEGABYTE(5) @@ -171,6 +171,8 @@ void cRecorder::Action(void) int Count = remux->Put(b, r); if (Count) ringBuffer->Del(Count); + else + cCondWait::SleepMs(100); // avoid busy loop when resultBuffer is full in cRemux::Put() } } } |