Adjusted device selection in GetDeviceForTransponder() to that in GetDevice()

This commit is contained in:
Klaus Schmidinger 2020-06-25 13:46:16 +02:00
parent 35b95c2b00
commit 3cc0abf6ea
3 changed files with 6 additions and 3 deletions

View File

@ -3608,6 +3608,7 @@ Helmut Binder <cco@aon.at>
for adding handling shared PMT pids and multiple PMT sections
for changing the country code in the generated ParentalRatingDescriptor from 'DEU' to
'902' to make it valid for all countries
for adjusting device selection in GetDeviceForTransponder() to that in GetDevice()
Ulrich Eckhardt <uli@uli-eckhardt.de>
for reporting a problem with shutdown after user inactivity in case a plugin is

View File

@ -9453,7 +9453,7 @@ Video Disk Recorder Revision History
The version numbers (both VDRVERSNUM and APIVERSNUM) have been bumped to 2.4.2, so
that plugins can detect the presence of the new cControl::Control().
2020-06-23: Version 2.4.3
2020-06-25: Version 2.4.3
- Added a missing '-D' to the 'plugins' target of the Makefile (thanks to Johann
Friedrichs).
@ -9486,3 +9486,5 @@ Video Disk Recorder Revision History
- Fixed a typo in svdrp.c (thanks to Tobias Grimm).
- Added support for HEVC-video and AC-4-audio (thanks to Christoph Haubrich).
- Added a comment about the semantics of cTimeMs::Set().
- Adjusted device selection in GetDeviceForTransponder() to that in GetDevice() (thanks
to Helmut Binder).

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 4.32 2020/06/12 09:28:44 kls Exp $
* $Id: device.c 4.33 2020/06/25 13:46:16 kls Exp $
*/
#include "device.h"
@ -426,7 +426,7 @@ cDevice *cDevice::GetDeviceForTransponder(const cChannel *Channel, int Priority)
return d; // if any device is tuned to the transponder, we're done
if (d->ProvidesTransponder(Channel)) {
if (d->MaySwitchTransponder(Channel))
Device = d; // this device may switch to the transponder without disturbing any receiver or live view
return d; // this device may switch to the transponder without disturbing any receiver or live view
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