Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] LNB-sharing and DVB-T
Hello
i'm running curently a mixed system containing DVB-S and DVB-T.
As i have only one "wire" i have to use the "LNBshare" patch
(lnb_sharing_vdr-1.2.5.patch)
The DVB-T card would relax the situation a lot.
"DVB-T only" would be no option OTOH.
But for my great disappointment the "LNB sharing" locks
DVB-T too, only because a "horizontal" recording is running
syslog says: "ERROR: durch LNB blockiert!"
But if "vertical" it recorded, the DVB-T is selectable!
It seems to have to with these functions in device.c, according
to Matthias.
#define DVB_T1 3
#define DVB_T2 4
//ML
cDevice *cDevice::GetBadDevice(char Polarization, int Frequency)
{
char lock;
if (Frequency >= Setup.LnbSLOF) {
lock = 1 ;
} else {
lock = 0;
}
if (Polarization == 'v' || Polarization == 'V') lock += 2;
//lock bit 0 = LowFreq
//lock bit 1 = Vert pol
for (int i = 0; i < numDevices; i++) {
if (this != device[i] && device[i]->GetLNBconf() != lock) {
return device[i];
}
}
return NULL;
}
int cDevice::GetMaxBadPriority(char Polarization, int Frequency)
{
char lock;
int d = -1;
if (Frequency >= Setup.LnbSLOF) {
lock = 1 ;
} else {
lock = 0;
}
if (Polarization == 'v' || Polarization == 'V') lock += 2;
//lock bit 0 = LowFreq
//lock bit 1 = Vert pol
for (int i = 0; i < numDevices; i++) {
if (device[i]->GetLNBconf() != lock && device[i]->Receiving()) {
if (device[i]->Priority() > d) d = device[i]->Priority();
}
}
//isyslog("GetMaxBadPriority i %d ", d);
return d;
}
//ML-Ende
My question:
What are those functions expected to do? ;-)
For my big sursprise those functions are called
thousand of times and not only if a channel change is
in progress.
Is that CPU load done by intention? If, why?
How can i determine that a "DVB-T" is going to be selected,
so the locking algorithm can be skipped?
An "if (this==device[DVB_T1])" seems not to work.
Or, at least, if "/dev/video2" is going to be selected,
that DVB-T is on that device and no locking is required.
One irretating:
If i run "scan" DVB-T is "-a 3" (but the box has 4 cards: 2 FF-s, 1B-s, 1B-t)
If i see "dmesg" the DVB-T is available on /dev/video2
...?
Currently i'm using 1.2.2 as base.
It works flawlessly and stable.
1.2.6 would be OK too. But because of the UDP problem
i hesitated to upgrade.
Rainer
Home |
Main Index |
Thread Index