Display More
Just add this small patch to the patched libdvbcsa.
DiffDisplay More--- a/src/dvbcsa_pv.h +++ b/src/dvbcsa_pv.h @@ -166,12 +166,24 @@ dvbcsa_load_le64(const uint8_t *p) } #if DVBCSA_KEY_ECM > 0 +static int8_t get_ecm(unsigned char ecm) +{ + switch(ecm) + { + case 0x04: + case 0x20: + return 1; + default: + return 0; + } +} + DVBCSA_INLINE static inline uint64_t dvbcsa_load_le64_ecm(const unsigned char ecm, const uint8_t *p) { dvbcsa_block_t W; memcpy(W, p, sizeof(W)); - if (ecm == 4) + if (get_ecm(ecm) == 1) { W[0] = csa_block_perm_ecm[p[0]]; W[4] = csa_block_perm_ecm[p[4]];
updated: libdvbcsa_v2.2.patch.zip (test)
If you want, rebuild libdvbcsa with these and give it a try.
Hi fegol
can use also add skyit to this patch? I tried to add hex 0xb0 to switch case but did not work. I think the value is wrong, but i am not sure where to find the value in ecm. I tried with Channel SuperTennis.