]> 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 12:37:34 +0000 (14:37 +0200)
src/descrambler/capmt.c
src/input/mpegts/dvb_psi.c

index 7ec5e6ac00b1ea7929dd2ec9fdbaf012eb0c6f65..968329a1948e6afd30d5dcaa713e1bde1d3e0ed9 100644 (file)
@@ -2093,9 +2093,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 4f42c2f52c6383e1583b562402319fa56cdda83d..9d822151ea61a43f626f298220e2cf7858cdae8b 100644 (file)
@@ -2240,6 +2240,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;