]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Fix Nagra's Provids detection
authorTheTroll <trolldev@gmail.com>
Tue, 24 Oct 2017 22:29:43 +0000 (00:29 +0200)
committerJaroslav Kysela <perex@perex.cz>
Wed, 25 Oct 2017 09:43:03 +0000 (11:43 +0200)
src/descrambler/capmt.c
src/input/mpegts/dvb_psi.c

index 06661bddee47e76db086d4ed34507db429b410d6..22af8bca35ba23296849bcb82bd3d8a3533e5120 100644 (file)
@@ -2227,9 +2227,9 @@ capmt_send_request(capmt_service_t *ct, int lm)
         buf[pos2++] = cce2->cce_providerid & 0xff;
       } else if (cce2->cce_caid >> 8 == 0x18) {
         buf[pos+1] = 7;
+        buf[pos2++] = 0;
         buf[pos2++] = cce2->cce_providerid >> 8;
         buf[pos2++] = cce2->cce_providerid & 0xff;
-        buf[pos2++] = 0;
       } else if (cce2->cce_caid >> 8 == 0x4a && cce2->cce_caid != 0x4ad2) {
         buf[pos+1] = 5;
         buf[pos2++] = cce2->cce_providerid & 0xff;
index b372c8d20a2f6954201d90c34c86676489d415b7..4256ef0045b84e90b1cfce7195c7fcf980b8b3a5 100644 (file)
@@ -2261,6 +2261,12 @@ psi_desc_ca(mpegts_table_t *mt, mpegts_service_t *t, const uint8_t *buffer, int
        provid = size < 4 ? 0 : buffer[4];
     }
     break;
+  case 0x1800: // Nagra
+    if (size == 0x7)
+      provid = extract_2byte(buffer + 5);
+    else
+      provid = 0;
+    break;
   default:
     provid = 0;
     break;