Commit 74447fb
committed
[cahandler] Fix wrong offsets in buildCAPMT(eDVBService) after Protocol-3 header
The 5-byte Protocol-3 header (0xA5 + 4-byte msgid) was added to m_capmt
but the offsets for the length field and programInfoLength in
buildCAPMT(eDVBService) were not adjusted accordingly.
- capmt length: offset 3 -> 8 (position 3 + 5-byte header)
- programInfoLength: offset 8/9 -> 13/14 (position 8/9 + 5-byte header)
This function is used when the dxIsScrambledPMT flag (f:400 in lamedb) is
manually set on a service. This flag tells enigma2 that the PMT itself is
encrypted and needs to be descrambled before it can be parsed. When set,
eDVBServicePMTHandler::handlePMT() calls buildCAPMT(eDVBService) to create
a CAPMT from cached service data (PIDs, CAIDs) instead of from a live PMT.
Without this fix, services with f:400 would send malformed CAPMT packets
to the CA handler breaking descrambling.
[cahandler] Remove PMT PID as ES element from buildCAPMT(eDVBService)
The cached PMT PID was being appended as an Elementary Stream element
with StreamType 0x0d (DSM CC) in the CAPMT built from cached service
data. This is wrong - the PMT PID is not a descramblable stream.
The same issue was already fixed in buildCAPMT(eTable*) by commit
caa72ff, but the pidtype map in buildCAPMT(eDVBService) was
overlooked.
The PMT PID is already correctly included as descriptor 0x84 in the
program info section.
This only affects non-standard services using the cached PMT path.1 parent c14abba commit 74447fb
1 file changed
+5
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1091 | 1091 | | |
1092 | 1092 | | |
1093 | 1093 | | |
1094 | | - | |
1095 | 1094 | | |
1096 | 1095 | | |
1097 | 1096 | | |
| |||
1117 | 1116 | | |
1118 | 1117 | | |
1119 | 1118 | | |
1120 | | - | |
1121 | | - | |
| 1119 | + | |
| 1120 | + | |
1122 | 1121 | | |
1123 | | - | |
1124 | | - | |
1125 | | - | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
1126 | 1125 | | |
1127 | 1126 | | |
1128 | 1127 | | |
| |||
0 commit comments