descrambler: remove ecm_valid bits

This commit is contained in:
Jaroslav Kysela 2014-08-04 21:16:42 +02:00
parent 5de48d54d1
commit 0362d507b8
2 changed files with 4 additions and 9 deletions

View file

@ -65,7 +65,6 @@ typedef struct th_descrambler_runtime {
uint32_t dr_key_first:1;
uint8_t dr_key_index;
uint8_t dr_key_valid;
uint8_t dr_ecm_valid;
time_t dr_key_start;
time_t dr_key_timestamp[2];
time_t dr_ecm_start;

View file

@ -317,15 +317,13 @@ descrambler_descramble ( service_t *t,
((mpegts_service_t *)t)->s_dvb_svcname);
kidx = KEY_IDX(ki);
if (dr->dr_key_timestamp[kidx] < dr->dr_key_timestamp[kidx^1] ||
dr->dr_ecm_key_time +
((dr->dr_ecm_valid & KEY_MASK(ki)) ? 0 : 2) < dr->dr_key_start) {
dr->dr_ecm_key_time + 2 < dr->dr_key_start) {
sbuf_cut(&dr->dr_buf, off);
if (!td->td_ecm_reset(td)) {
dr->dr_key_valid = dr->dr_ecm_valid = 0;
dr->dr_key_valid = 0;
goto next;
}
}
dr->dr_ecm_valid |= KEY_MASK(ki);
key_update(dr, ki);
}
}
@ -352,17 +350,15 @@ descrambler_descramble ( service_t *t,
((mpegts_service_t *)t)->s_dvb_svcname);
kidx = KEY_IDX(ki);
if (dr->dr_key_timestamp[kidx] < dr->dr_key_timestamp[kidx^1] ||
dr->dr_ecm_key_time +
((dr->dr_ecm_valid & KEY_MASK(ki)) ? 0 : 2) < dr->dr_key_start) {
dr->dr_ecm_key_time + 2 < dr->dr_key_start) {
tvhtrace("descrambler", "ECM late (%ld seconds) for service \"%s\"",
dispatch_clock - dr->dr_ecm_key_time,
((mpegts_service_t *)t)->s_dvb_svcname);
if (!td->td_ecm_reset(td)) {
dr->dr_key_valid = dr->dr_ecm_valid = 0;
dr->dr_key_valid = 0;
goto next;
}
}
dr->dr_ecm_valid |= KEY_MASK(ki);
key_update(dr, ki);
}
}