summaryrefslogtreecommitdiff
path: root/vdr.c
diff options
context:
space:
mode:
Diffstat (limited to 'vdr.c')
-rw-r--r--vdr.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/vdr.c b/vdr.c
index 6825363..0f16d11 100644
--- a/vdr.c
+++ b/vdr.c
@@ -877,22 +877,21 @@ int main(int argc, char *argv[])
break;
}
bool timeout = Now - DeviceUsed[d->DeviceNumber()] > TIMERDEVICETIMEOUT; // only check other devices if they have been left alone for a while
- if (d->MaySwitchTransponder()) {
+ if (d->MaySwitchTransponder() && d->GetMaxBadPriority(Timer->Channel()) == -2 ) { // LNB Sharing
DeviceAvailable = true; // avoids using the actual device below
if (timeout)
- // Device = d; // only check other devices if they have been left alone for a while
- if( d->GetMaxBadPriority(Timer->Channel()) <= 0) Device = d; // LNB Sharing
+ Device = d; // only check other devices if they have been left alone for a while
}
else if (timeout && !Device && InVpsMargin && !d->Receiving() && d->ProvidesTransponderExclusively(Timer->Channel()))
// Device = d; // use this one only if no other with less impact can be found
- if( d->GetMaxBadPriority(Timer->Channel()) <= 0) Device = d; // LNB Sharing
+ if( d->GetMaxBadPriority(Timer->Channel()) <= -1) Device = d; // LNB Sharing
}
}
if (!Device && InVpsMargin && !DeviceAvailable) {
cDevice *d = cDevice::ActualDevice();
if (!d->Receiving() && d->ProvidesTransponder(Timer->Channel()) && Now - DeviceUsed[d->DeviceNumber()] > TIMERDEVICETIMEOUT)
// Device = d; // use the actual device as a last resort
- if( d->GetMaxBadPriority(Timer->Channel()) <= 0) Device = d; // LNB Sharing
+ if( d->GetMaxBadPriority(Timer->Channel()) <= -1) Device = d; // LNB Sharing
}
// Switch the device to the transponder: