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 177500000 out of range (470000000..860000000) DVB: adapter 0 frontend 0 frequency 177500000 out of range (470000000..860000000) DVB: adapter 0 frontend 0 frequency 177500000 out of range (470000000..860000000) 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 470000000..860000000 frontend 1:0 frequency range 51000000..858000000 frontend 2:0 frequency range 177000000..858000000 Therefore i attach a simple patch to check provided frequency ranges of used dvb-t device driver. --- dvbdevice.c.orig 2010-05-01 11:47:13.000000000 +0200 +++ dvbdevice.c 2010-11-27 16:53:43.000000000 +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@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr