Project

General

Profile

Bug #3061 » patch.txt

Daniel Persson, 2015-11-08 19:16

 
1
--- linuxdvb_ca.c.org	2015-11-08 19:11:48.927942552 +0100
2
+++ linuxdvb_ca.c.danne	2015-11-08 19:11:01.499728423 +0100
3
@@ -591,15 +591,23 @@
4
 {
5
     linuxdvb_ca_t * lca = arg;
6
 
7
-    tvhlog(LOG_NOTICE, "en50221", "MMI menu from CAM in the slot %u:", slot_id);
8
-    tvhlog(LOG_NOTICE, "en50221", "  title:    %.*s", title->text_length, title->text);
9
-    tvhlog(LOG_NOTICE, "en50221", "  subtitle: %.*s", sub_title->text_length, sub_title->text);
10
+    tvhlog(LOG_NOTICE, "en50221", "MMI1 list from CAM in the slot %u:", slot_id);
11
+    tvhlog(LOG_NOTICE, "en50221", "  title:    '%.*s'", title->text_length, title->text);
12
+    tvhlog(LOG_NOTICE, "en50221", "  subtitle: '%.*s'", sub_title->text_length, sub_title->text);
13
 
14
     uint32_t i;
15
     for(i=0; i< item_count; i++) {
16
-        tvhlog(LOG_NOTICE, "en50221", "  item %i:   %.*s", i+1,  items[i].text_length, items[i].text);
17
+        tvhlog(LOG_NOTICE, "en50221", "  item %i:   '%.*s'", i+1,  items[i].text_length, items[i].text);
18
     }
19
-    tvhlog(LOG_NOTICE, "en50221", "  bottom:   %.*s", bottom->text_length, bottom->text);
20
+    tvhlog(LOG_NOTICE, "en50221", "  bottom:   '%.*s'", bottom->text_length, bottom->text);
21
+
22
+    if (item_count > 1 &&
23
+        items[0].text_length == 27 && strncmp((const char *)items[0].text, "Your host is not fully CI+ ", 27) == 0 &&
24
+        items[1].text_length == 9 && strncmp((const char *)items[1].text, "compliant", 9) == 0) {
25
+      en50221_app_mmi_keypress(lca->lca_mmi_resource, session_num, 0x0d);
26
+      tvhlog(LOG_NOTICE, "en50221", "Sent Enter keypress");
27
+    }
28
+
29
 
30
     /* cancel menu */
31
     en50221_app_mmi_close(lca->lca_mmi_resource, session_num,
32
@@ -617,15 +625,22 @@
33
 {
34
     linuxdvb_ca_t * lca = arg;
35
 
36
-    tvhlog(LOG_NOTICE, "en50221", "MMI list from CAM in the slot %u:", slot_id);
37
-    tvhlog(LOG_NOTICE, "en50221", "  title:    %.*s", title->text_length, title->text);
38
-    tvhlog(LOG_NOTICE, "en50221", "  subtitle: %.*s", sub_title->text_length, sub_title->text);
39
+    tvhlog(LOG_NOTICE, "en50221", "MMI2 list from CAM in the slot %u:", slot_id);
40
+    tvhlog(LOG_NOTICE, "en50221", "  title:    '%.*s'", title->text_length, title->text);
41
+    tvhlog(LOG_NOTICE, "en50221", "  subtitle: '%.*s'", sub_title->text_length, sub_title->text);
42
 
43
     uint32_t i;
44
     for(i=0; i< item_count; i++) {
45
-        tvhlog(LOG_NOTICE, "en50221", "  item %i:   %.*s", i+1,  items[i].text_length, items[i].text);
46
+        tvhlog(LOG_NOTICE, "en50221", "  item %i:   '%.*s'", i+1,  items[i].text_length, items[i].text);
47
+    }
48
+    tvhlog(LOG_NOTICE, "en50221", "  bottom:   '%.*s'", bottom->text_length, bottom->text);
49
+
50
+    if (item_count > 1 &&
51
+        items[0].text_length == 27 && strncmp((const char *)items[0].text, "Your host is not fully CI+ ", 27) == 0 &&
52
+        items[1].text_length == 9 && strncmp((const char *)items[1].text, "compliant", 9) == 0) {
53
+      en50221_app_mmi_keypress(lca->lca_mmi_resource, session_num, 0x0d);
54
+      tvhlog(LOG_NOTICE, "en50221", "Sent Enter keypress");
55
     }
56
-    tvhlog(LOG_NOTICE, "en50221", "  bottom:   %.*s", bottom->text_length, bottom->text);
57
 
58
     /* cancel menu */
59
     en50221_app_mmi_close(lca->lca_mmi_resource, session_num,
(3-3/4)