diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2002-12-13 15:35:00 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2002-12-13 15:35:00 +0100 |
commit | f784d52a3999505204c38d4e14ca5674f8f492e7 (patch) | |
tree | d054026c2c5c86a67982578ed345e13be6e5c54c | |
parent | d7d4799236687c5f14c4719c918619d53099081a (diff) | |
download | vdr-f784d52a3999505204c38d4e14ca5674f8f492e7.tar.gz vdr-f784d52a3999505204c38d4e14ca5674f8f492e7.tar.bz2 |
Fixed recording overlapping timers on the same channel
-rw-r--r-- | CONTRIBUTORS | 2 | ||||
-rw-r--r-- | HISTORY | 3 | ||||
-rw-r--r-- | dvbdevice.c | 15 |
3 files changed, 10 insertions, 10 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index e08b23e0..a7ae8f91 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -468,6 +468,8 @@ Gerhard Steiner <steiner@mail.austria.com> Jaakko Hyvätti <jaakko@hyvatti.iki.fi> for translating OSD texts to the Finnish language for adding a check if there is a connection to the keyboard + for fixing recording overlapping timers on the same channel in case + DO_REC_AND_PLAY_ON_PRIMARY_DEVICE and/or DO_MULTIPLE_RECORDINGS is not defined Dennis Noordsij <dennis.noordsij@wiral.com> for reporting a small glitch when switching channels @@ -1881,3 +1881,6 @@ Video Disk Recorder Revision History CXX ?= g++ CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual +- Fixed recording overlapping timers on the same channel in case + DO_REC_AND_PLAY_ON_PRIMARY_DEVICE and/or DO_MULTIPLE_RECORDINGS is not defined + (thanks to Jaakko Hyvätti). diff --git a/dvbdevice.c b/dvbdevice.c index a2b4ce97..45b7fbb1 100644 --- a/dvbdevice.c +++ b/dvbdevice.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.c 1.38 2002/12/07 14:50:46 kls Exp $ + * $Id: dvbdevice.c 1.39 2002/12/13 15:29:50 kls Exp $ */ #include "dvbdevice.h" @@ -537,31 +537,26 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne bool needsDetachReceivers = true; if (ProvidesSource(Channel->Source()) && ProvidesCa(Channel->Ca())) { -#ifdef DO_MULTIPLE_RECORDINGS + result = hasPriority; if (Receiving()) { if (dvbTuner->IsTunedTo(Channel)) { needsDetachReceivers = false; if (!HasPid(Channel->Vpid())) { - if (Channel->Ca() > CACONFBASE) { +#ifdef DO_MULTIPLE_RECORDINGS + if (Channel->Ca() > CACONFBASE) needsDetachReceivers = true; - result = hasPriority; - } else if (!IsPrimaryDevice()) result = true; #ifdef DO_REC_AND_PLAY_ON_PRIMARY_DEVICE else result = Priority >= Setup.PrimaryLimit; #endif +#endif } else result = !IsPrimaryDevice() || Priority >= Setup.PrimaryLimit; } - else - result = hasPriority; } - else -#endif - result = hasPriority; } if (NeedsDetachReceivers) *NeedsDetachReceivers = needsDetachReceivers; |