On 27.11.2010 16:59, Andreas Brachold wrote:
Hello,
Any current vdr doesn't respect valid dvb device frequency ranges.
Here on a EPG-Scan it's generate many messages on syslog, like :
DVB: adapter 0 frontend 0 frequency 17750 out of range
(47000..86000)
DVB: adapter 0 frontend 0 frequency 17750 out of range
(47000..86000)
DVB: adapter 0 frontend 0 frequency 17750 out of range
(47000..86000)
Any of my three DVB-T devices have different frequency ranges,
and the primary device can't receive VHF-channels.
frontend 0:0 frequency range 47000..86000
frontend 1:0 frequency range 5100..85800
frontend 2:0 frequency range 17700..85800
Therefore i attach a simple patch to check provided frequency ranges of
used dvb-t device driver.
--- dvbdevice.c.orig2010-05-01 11:47:13.0 +0200
+++ dvbdevice.c 2010-11-27 16:53:43.0 +0100
@@ -911,6 +911,14 @@
{
if (!ProvidesSource(Channel-Source()))
return false; // doesn't provide source
+
+ // check for supported frequency range
+ if(frontendType == SYS_DVBT
+ (Channel-Frequency() frontendInfo.frequency_min
+ || Channel-Frequency() frontendInfo.frequency_max )) {
+ return false;
+ }
+
cDvbTransponderParameters dtp(Channel-Parameters());
if (dtp.System() == SYS_DVBS2 frontendType == SYS_DVBS ||
dtp.Modulation() == QPSK !(frontendInfo.caps FE_CAN_QPSK) ||
I was just going to adopt this patch, but two questions came up:
- Is this limited to DVB-T, or would something similar also
apply to DVB-S and DVB-C?
- With the multi-frontend support added in version 1.7.23, I
wonder how this would work now. I assume frontendInfo can only
hold the info on the frontend that is currently activated (via
DTV_DELIVERY_SYSTEM). But that would mean that the delivery system
would have to be set (and frontendInfo re-read) *before* the above
check can be made.
Can somebody please shed some light on this?
Klaus
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr