summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-12-13 15:35:00 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2002-12-13 15:35:00 +0100
commitf784d52a3999505204c38d4e14ca5674f8f492e7 (patch)
treed054026c2c5c86a67982578ed345e13be6e5c54c
parentd7d4799236687c5f14c4719c918619d53099081a (diff)
downloadvdr-f784d52a3999505204c38d4e14ca5674f8f492e7.tar.gz
vdr-f784d52a3999505204c38d4e14ca5674f8f492e7.tar.bz2
Fixed recording overlapping timers on the same channel
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY3
-rw-r--r--dvbdevice.c15
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
diff --git a/HISTORY b/HISTORY
index eeec39ab..f7e9814e 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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;