summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY2
-rw-r--r--dvbdevice.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/HISTORY b/HISTORY
index e38c2cf1..04859985 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2327,3 +2327,5 @@ Video Disk Recorder Revision History
- Fixed a bug in resetting OSD color palettes (thanks to Torsten Herz).
- Fixed starting a recording on the primary device if there is a replay session
active (thanks to Javier Marcet for reporting this one).
+- Avoiding an unnecessary stop of an ongoing Transfer Mode when starting a
+ recording on the primary device.
diff --git a/dvbdevice.c b/dvbdevice.c
index 34d55829..65ae43b6 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.61 2003/08/15 13:03:41 kls Exp $
+ * $Id: dvbdevice.c 1.62 2003/08/24 14:49:53 kls Exp $
*/
#include "dvbdevice.h"
@@ -613,13 +613,12 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne
{
bool result = false;
bool hasPriority = Priority < 0 || Priority > this->Priority();
- bool needsDetachReceivers = true;
+ bool needsDetachReceivers = false;
if (ProvidesSource(Channel->Source()) && ProvidesCa(Channel->Ca())) {
result = hasPriority;
if (Receiving()) {
if (dvbTuner->IsTunedTo(Channel)) {
- needsDetachReceivers = false;
if (!HasPid(Channel->Vpid())) {
#ifdef DO_MULTIPLE_RECORDINGS
if (Channel->Ca() > CACONFBASE)
@@ -636,6 +635,8 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne
else
result = !IsPrimaryDevice() || Priority >= Setup.PrimaryLimit;
}
+ else
+ needsDetachReceivers = true;
}
}
if (NeedsDetachReceivers)