diff --git a/src/input/mpegts/linuxdvb/linuxdvb_ca.c b/src/input/mpegts/linuxdvb/linuxdvb_ca.c index 801abed..fa4affc 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_ca.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_ca.c @@ -618,14 +618,21 @@ linuxdvb_ca_app_mmi_list_cb(void *arg, uint8_t slot_id, uint16_t session_num, linuxdvb_ca_t * lca = arg; tvhlog(LOG_NOTICE, "en50221", "MMI list from CAM in the slot %u:", slot_id); - tvhlog(LOG_NOTICE, "en50221", " title: %.*s", title->text_length, title->text); - tvhlog(LOG_NOTICE, "en50221", " subtitle: %.*s", sub_title->text_length, sub_title->text); + tvhlog(LOG_NOTICE, "en50221", " title: '%.*s'", title->text_length, title->text); + tvhlog(LOG_NOTICE, "en50221", " subtitle: '%.*s'", sub_title->text_length, sub_title->text); uint32_t i; for(i=0; i< item_count; i++) { - tvhlog(LOG_NOTICE, "en50221", " item %i: %.*s", i+1, items[i].text_length, items[i].text); + tvhlog(LOG_NOTICE, "en50221", " item %i: '%.*s'", i+1, items[i].text_length, items[i].text); + } + tvhlog(LOG_NOTICE, "en50221", " bottom: '%.*s'", bottom->text_length, bottom->text); + + if (item_count > 1 && + items[0].text_length = 26 && strncmp((const char *)items[0].text, "Your host is not fully CI+", 26) == 0 && + items[1].text_length == 9 && strncmp((const char *)items[1].text, "compliant", 9) == 0) { + en50221_app_mmi_keypress(lca->lca_mmi_resource, session_num, 0x0d); + tvhlog(LOG_NOTICE, "en50221", "Sent Enter keypress"); } - tvhlog(LOG_NOTICE, "en50221", " bottom: %.*s", bottom->text_length, bottom->text); /* cancel menu */ en50221_app_mmi_close(lca->lca_mmi_resource, session_num,