mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
32 lines
1.5 KiB
Diff
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);
|