Hi,
I get log messages like: ERROR: device 1 supports 7 modulation systems but cDevice::GetDevice() currently only supports 4 delivery systems which should be fixed
It's a Satelco EasyWatch (DVB-C): frontend 0/0 provides DVB-C with QPSK,QAM16,QAM32,QAM64,QAM128,QAM256 ("Philips TDA10023 DVB-C")
But AvailableBits is 4, MaxNumProvidedSystems computes to 15 and NumProvidedSystems is 7 if I write them with isyslog to the log. Is it a fault of gcc 4.4.3? Has anyone any idea? I just don't know what to do with this...
Regards, Lars.
Hi Lars,
from my point of view this is not a problem and no fault of gcc 4.4.3.
Why ?: When selecting a device for receiving (cDevice::GetDevice as far i know) there are 3 bits for the count of modulation systems. Is is the impact variable.
The method isn't used anywhere else.
The impact is smaller (numberic value) if a device has less modulation systems. Perhaps (and only perhaps) in some situations another device would be taken to receive a specific channel.
Regards Rainer
2011/1/19 L. Hanisch dvb@flensrocker.de:
Hi,
I get log messages like: ERROR: device 1 supports 7 modulation systems but cDevice::GetDevice() currently only supports 4 delivery systems which should be fixed
It's a Satelco EasyWatch (DVB-C): frontend 0/0 provides DVB-C with QPSK,QAM16,QAM32,QAM64,QAM128,QAM256 ("Philips TDA10023 DVB-C")
But AvailableBits is 4, MaxNumProvidedSystems computes to 15 and NumProvidedSystems is 7 if I write them with isyslog to the log. Is it a fault of gcc 4.4.3? Has anyone any idea? I just don't know what to do with this...
Regards, Lars.
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Hi Rainer,
Am 24.01.2011 11:36, schrieb Rainer Blickle:
Hi Lars,
from my point of view this is not a problem and no fault of gcc 4.4.3.
Why ?: When selecting a device for receiving (cDevice::GetDevice as far i know) there are 3 bits for the count of modulation systems. Is is the impact variable.
The method isn't used anywhere else.
I know that there's no real problem with selecting the device. But vdr 1.7.16 uses 4 bits for this piece of the impact computation.
cDevice::GetDevice: imp <<= 4; imp |= GetClippedNumProvidedSystems(4, device[i]) - 1;
GetClippedNumProvidedSystems: int MaxNumProvidedSystems = (1 << AvailableBits) - 1; int NumProvidedSystems = Device->NumProvidedSystems(); if (NumProvidedSystems > MaxNumProvidedSystems) {
AvailableBits == 4 => 1 << 4 == 10000b => 10000b - 1 == 1111b == 15d Device->NumProvidedSystems() returns 7 7 < 15 => there should be no error message
If I place a isyslog right before the comparison like isyslog("AvailableBits = %d, MaxNumProvidedSystems = %d, NumProvidedSystems = %d", AvailableBits, MaxNumProvidedSystems, NumProvidedSystems); The expected values are printed at the syslog and there's no error message. If I remove the syslog call, the error message comes again.
That's why I think, that the compiler is "optimizing" something, which leads to an error. And if the compiler is doing something wrong here - how can I be sure that there are no errors in other parts?
What am I missing? I would like to be wrong - but I would like to understand... :-)
Lars.
The impact is smaller (numberic value) if a device has less modulation systems. Perhaps (and only perhaps) in some situations another device would be taken to receive a specific channel.
Regards Rainer
2011/1/19 L. Hanischdvb@flensrocker.de:
Hi,
I get log messages like: ERROR: device 1 supports 7 modulation systems but cDevice::GetDevice() currently only supports 4 delivery systems which should be fixed
It's a Satelco EasyWatch (DVB-C): frontend 0/0 provides DVB-C with QPSK,QAM16,QAM32,QAM64,QAM128,QAM256 ("Philips TDA10023 DVB-C")
But AvailableBits is 4, MaxNumProvidedSystems computes to 15 and NumProvidedSystems is 7 if I write them with isyslog to the log. Is it a fault of gcc 4.4.3? Has anyone any idea? I just don't know what to do with this...
Regards, Lars.
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr