From 3cc0abf6eac449a0eb29c18545dfa2f6c33b5e21 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Thu, 25 Jun 2020 13:46:16 +0200 Subject: Adjusted device selection in GetDeviceForTransponder() to that in GetDevice() --- CONTRIBUTORS | 1 + HISTORY | 4 +++- device.c | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 90e47c49..501482ee 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3608,6 +3608,7 @@ Helmut Binder 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 for reporting a problem with shutdown after user inactivity in case a plugin is diff --git a/HISTORY b/HISTORY index 8f3854ca..14892ab3 100644 --- a/HISTORY +++ b/HISTORY @@ -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). diff --git a/device.c b/device.c index e539d486..50120a9a 100644 --- a/device.c +++ b/device.c @@ -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 -- cgit v1.2.3