bash1
Just add this small patch to the patched libdvbcsa.
--- 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]];
Display More
updated: libdvbcsa_v2.2.patch.zip (test)
If you want, rebuild libdvbcsa with these and give it a try.