1
|
diff --git a/src/descrambler/emm_reass.c b/src/descrambler/emm_reass.c
|
2
|
index 8f66edc..91b40d4 100644
|
3
|
--- a/src/descrambler/emm_reass.c
|
4
|
+++ b/src/descrambler/emm_reass.c
|
5
|
@@ -91,14 +91,20 @@ emm_irdeto
|
6
|
emm_provider_t *ep;
|
7
|
char prov[4];
|
8
|
|
9
|
- if (len < 4)
|
10
|
+ if (len < 4) {
|
11
|
+ tvhtrace(ra->subsys, "if (%d < 4) return",len);
|
12
|
return;
|
13
|
+ }
|
14
|
|
15
|
emm_mode = data[3] >> 3;
|
16
|
emm_len = data[3] & 0x07;
|
17
|
|
18
|
- if (4 + emm_len > len || emm_len > 3)
|
19
|
+ tvhtrace(ra->subsys, "EMM_IRDETO len:%d emm_mode:%d emm_len:%d", len, emm_mode, emm_len);
|
20
|
+
|
21
|
+ if (4 + emm_len > len || emm_len > 3) {
|
22
|
+ tvhtrace(ra->subsys, "if (%d > %d || %d > %d) return", 4 + emm_len, len, emm_len, 3);
|
23
|
return;
|
24
|
+ }
|
25
|
|
26
|
if (emm_mode & 0x10) {
|
27
|
// try to match card
|
28
|
@@ -123,8 +129,8 @@ emm_irdeto
|
29
|
}
|
30
|
}
|
31
|
}
|
32
|
-
|
33
|
- if (match)
|
34
|
+ tvhtrace(ra->subsys, "match=%d send(len=%d)",match, len);
|
35
|
+ if (match==0)
|
36
|
send(aux, data, len, mux);
|
37
|
}
|
38
|
|
39
|
@@ -604,6 +610,7 @@ emm_filter(emm_reass_t *ra, const uint8_t *data, int len, void *mux,
|
40
|
tvhtrace(ra->subsys, "emm filter : %s - len %d mux %p", caid2name(ra->caid), len, mux);
|
41
|
tvhlog_hexdump(ra->subsys, data, len);
|
42
|
if (ra->do_emm)
|
43
|
+ tvhtrace(ra->subsys, "do_emm: %d", ra->type);
|
44
|
ra->do_emm(ra, data, len, mux, send, aux);
|
45
|
}
|
46
|
|