Files
LibreELEC.tv/packages/addons/addon-depends/vdr/patches/vdr-10-upstream-fix-06-channel-switch.patch
2018-11-09 19:13:36 +01:00

32 lines
1.5 KiB
Diff

# Fixed switching through encrypted channels with the Up/Down keys
#
--- a/device.c 2018/03/24 09:49:14 5.0
+++ b/device.c 2018/07/16 09:29:57
@@ -787,6 +787,7 @@
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 @@
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;
--- a/menu.c 2018/05/27 09:51:56 5.3
+++ b/menu.c 2018/07/16 09:29:57
@@ -4704,6 +4704,8 @@
const cChannel *cDisplayChannel::NextAvailableChannel(const cChannel *Channel, int 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
LOCK_CHANNELS_READ;
while (Channel) {
Channel = Direction > 0 ? Channels->Next(Channel) : Channels->Prev(Channel);