From: TheTroll Date: Tue, 24 Oct 2017 22:29:43 +0000 (+0200) Subject: Fix Nagra's Provids detection X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8d27f843822e52ec095adcf2795c30b7618c0998;p=thirdparty%2Ftvheadend.git Fix Nagra's Provids detection --- diff --git a/src/descrambler/capmt.c b/src/descrambler/capmt.c index 06661bdde..22af8bca3 100644 --- a/src/descrambler/capmt.c +++ b/src/descrambler/capmt.c @@ -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; diff --git a/src/input/mpegts/dvb_psi.c b/src/input/mpegts/dvb_psi.c index b372c8d20..4256ef004 100644 --- a/src/input/mpegts/dvb_psi.c +++ b/src/input/mpegts/dvb_psi.c @@ -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;