]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
descrambler: do not expand key timestamp for unset one
authorJaroslav Kysela <perex@perex.cz>
Wed, 7 Mar 2018 20:46:28 +0000 (21:46 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 7 Mar 2018 20:46:28 +0000 (21:46 +0100)
src/descrambler/descrambler.c

index 980ae0ff8aff9a2b39f7bc2297f3b580f93de78e..a8ff87ad2174bb206a7f80bd98ef93057ad65adb 100644 (file)
@@ -1277,7 +1277,7 @@ descrambler_table_callback
   LIST_HEAD(,descrambler_ecmsec) sections;
   int emm = (mt->mt_flags & MT_FAST) == 0;
   mpegts_service_t *t;
-  int64_t clk, clk2;
+  int64_t clk, clk2, clk3;
   uint8_t ki;
   int i, j;
 
@@ -1380,8 +1380,8 @@ descrambler_table_callback
             tk = &dr->dr_keys[i];
             for (j = 0; j < 2; j++) {
               clk2 = dr->dr_ecm_start[j];
-              if (clk2 > 0 && tk->key_timestamp[j] >= clk2 &&
-                  tk->key_timestamp[j] + ms2mono(200) <= clk) {
+              clk3 = tk->key_timestamp[j];
+              if (clk3 > 0 && clk3 >= clk2 && clk3 + ms2mono(200) <= clk) {
                 tk->key_timestamp[j] = clk;
                 tvhtrace(LS_DESCRAMBLER, "ECM: %s key[%d] for service \"%s\" still valid",
                                          j == 0 ? "Even" : "Odd",