diff options
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | dvbdevice.c | 7 |
2 files changed, 6 insertions, 3 deletions
@@ -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) |