diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2018-07-16 09:33:21 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2018-07-16 09:33:21 +0200 |
commit | 336822f6724dd3a2dbc4fbd5db357fc7b2a2ae39 (patch) | |
tree | 791e42102c2543010d05e870f5d9dd51a1cdfd7c /device.c | |
parent | 5543f130510fba24c369d04a515415024be331b9 (diff) | |
download | vdr-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.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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; |