linuxdvb: allow to force using old linuxdvb ioctls, fixes#2759
This commit is contained in:
parent
d58afc0415
commit
995aaf895b
3 changed files with 15 additions and 1 deletions
|
@ -89,6 +89,11 @@ The rows have the following functions
|
||||||
In this case, increase the default value. For fast hardware, this value
|
In this case, increase the default value. For fast hardware, this value
|
||||||
might be descreased to make the decision of the re-tune algorithm
|
might be descreased to make the decision of the re-tune algorithm
|
||||||
based on the signal status faster.</dd>
|
based on the signal status faster.</dd>
|
||||||
|
<p>
|
||||||
|
<dt><b>Force old status</b></dt>
|
||||||
|
<dd>Always use the old ioctls to read the linuxdvb status (signal strenght,
|
||||||
|
SNR, error counters). Some drivers are not matured enough to provide
|
||||||
|
the correct values using the new v5 linuxdvb API.</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
|
@ -120,6 +120,13 @@ const idclass_t linuxdvb_frontend_class =
|
||||||
.opts = PO_ADVANCED,
|
.opts = PO_ADVANCED,
|
||||||
.off = offsetof(linuxdvb_frontend_t, lfe_status_period),
|
.off = offsetof(linuxdvb_frontend_t, lfe_status_period),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.type = PT_BOOL,
|
||||||
|
.id = "old_status",
|
||||||
|
.name = "Force old status",
|
||||||
|
.opts = PO_ADVANCED,
|
||||||
|
.off = offsetof(linuxdvb_frontend_t, lfe_old_status),
|
||||||
|
},
|
||||||
{}
|
{}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -649,7 +656,8 @@ linuxdvb_frontend_monitor ( void *aux )
|
||||||
|
|
||||||
logit = tvhlog_limit(&lfe->lfe_status_log, 3600);
|
logit = tvhlog_limit(&lfe->lfe_status_log, 3600);
|
||||||
|
|
||||||
if(ioctl_check(lfe, 0) && !ioctl(lfe->lfe_fe_fd, FE_GET_PROPERTY, &dtv_prop)) {
|
if(ioctl_check(lfe, 0) && !lfe->lfe_old_status &&
|
||||||
|
!ioctl(lfe->lfe_fe_fd, FE_GET_PROPERTY, &dtv_prop)) {
|
||||||
/* Signal strength */
|
/* Signal strength */
|
||||||
gotprop = 0;
|
gotprop = 0;
|
||||||
if(ioctl_check(lfe, 1) && fe_properties[0].u.st.len > 0) {
|
if(ioctl_check(lfe, 1) && fe_properties[0].u.st.len > 0) {
|
||||||
|
|
|
@ -118,6 +118,7 @@ struct linuxdvb_frontend
|
||||||
uint32_t lfe_skip_bytes;
|
uint32_t lfe_skip_bytes;
|
||||||
uint32_t lfe_ibuf_size;
|
uint32_t lfe_ibuf_size;
|
||||||
uint32_t lfe_status_period;
|
uint32_t lfe_status_period;
|
||||||
|
int lfe_old_status;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Satconf (DVB-S only)
|
* Satconf (DVB-S only)
|
||||||
|
|
Loading…
Add table
Reference in a new issue