summaryrefslogtreecommitdiff
path: root/device.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2018-07-16 09:33:21 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2018-07-16 09:33:21 +0200
commit336822f6724dd3a2dbc4fbd5db357fc7b2a2ae39 (patch)
tree791e42102c2543010d05e870f5d9dd51a1cdfd7c /device.c
parent5543f130510fba24c369d04a515415024be331b9 (diff)
downloadvdr-336822f6724dd3a2dbc4fbd5db357fc7b2a2ae39.tar.gz
vdr-336822f6724dd3a2dbc4fbd5db357fc7b2a2ae39.tar.bz2
Fixed switching through encrypted channels with the Up/Down keys
Diffstat (limited to 'device.c')
-rw-r--r--device.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/device.c b/device.c
index 626495dc..b112ae04 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.27 2018/03/24 09:49:14 kls Exp $
+ * $Id: device.c 4.28 2018/07/16 09:29:57 kls Exp $
*/
#include "device.h"
@@ -787,6 +787,7 @@ bool cDevice::SwitchChannel(const cChannel *Channel, bool LiveView)
if (LiveView) {
isyslog("switching to channel %d %s (%s)", Channel->Number(), *Channel->GetChannelID().ToString(), Channel->Name());
cControl::Shutdown(); // prevents old channel from being shown too long if GetDevice() takes longer
+ // and, if decrypted, this removes the now superflous PIDs from the CAM, too
}
for (int i = 3; i--;) {
switch (SetChannel(Channel, LiveView)) {
@@ -809,6 +810,7 @@ bool cDevice::SwitchChannel(int Direction)
Direction = sgn(Direction);
if (Direction) {
cControl::Shutdown(); // prevents old channel from being shown too long if GetDevice() takes longer
+ // and, if decrypted, this removes the now superflous PIDs from the CAM, too
int n = CurrentChannel() + Direction;
int first = n;
LOCK_CHANNELS_READ;