Fixed handling recording with more than two bonded devices

This commit is contained in:
Klaus Schmidinger 2012-06-10 13:26:37 +02:00
parent c020b708a5
commit e595e3b1d4
2 changed files with 4 additions and 3 deletions

View File

@ -7148,7 +7148,7 @@ Video Disk Recorder Revision History
caching the information whether a recording is stored on the video directory file
system within the cRecording data (based on a patch from Torsten Lang).
2012-06-09: Version 1.7.29
2012-06-10: Version 1.7.29
- Added a missing template specification to the c'tor of cSortedTimers (thanks to Udo
Richter).
@ -7176,3 +7176,4 @@ Video Disk Recorder Revision History
If a folder is newly created by a repeating timer, the sort mode for that
folder is initially set to "by time".
- Fixed several spelling errors (thanks to Ville Skyttä).
- Fixed handling recording with more than two bonded devices.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: device.c 2.61 2012/06/09 14:37:24 kls Exp $
* $Id: device.c 2.62 2012/06/10 13:13:18 kls Exp $
*/
#include "device.h"
@ -334,7 +334,7 @@ cDevice *cDevice::GetDeviceForTransponder(const cChannel *Channel, int Priority)
if (d->ProvidesTransponder(Channel)) {
if (d->MaySwitchTransponder(Channel))
Device = d; // this device may switch to the transponder without disturbing any receiver or live view
else if (!d->Occupied()) {
else if (!d->Occupied() && d->MaySwitchTransponder(Channel)) { // MaySwitchTransponder() implicitly calls Occupied()
if (d->Priority() < Priority && (!Device || d->Priority() < Device->Priority()))
Device = d; // use this one only if no other with less impact can be found
}