[vdr] Re: VDR prefers my CI DVB device for recordings and blocks
it unnecessarily
Udo Richter
udo_richter at gmx.de
Sun Aug 20 20:51:05 CEST 2006
Klaus Schmidinger wrote:
> Udo Richter wrote:
>> Lots of transfer buffer overflows and sluggish OSD, because
>> VDR used the primary FF card for recording, while the secondary budget
>> card is idle. System is back to normal if I switch to another channel.
>
> Just tested it by recording ARD from the primary device and
> watching it live at the same time. No problems whatsoever.
Added tons of debug code and found the important difference.
This is watching ARD, then starting a timer on ARD:
20:37:17 dev=0 crd=0: chan=1 freq=11836 (Hi) pol=h
GetDevice ch=1 dev=0 ndr=0 Receiving(true)=1 Receiving(false)=0
r[0] pri=-1 numPids=1 pid0=104 pid1=0 pid2=0
Impact=0001880B
GetDevice ch=1 dev=1 ndr=0 Receiving(true)=0 Receiving(false)=0
Impact=00118804
20:37:29 dev=0 crd=0: chan=1 freq=11836 (Hi) pol=h
(The line with the clock is from cStatus::ChannelSwitch, the GetDevice
is from the loop in cDevice::GetDevice, r[..] is a receiver on this
device, Impact the final result of that device)
The important thing to see is that a priority -1 receiver is attached to
the primary device, PID 104 - thats teletext on ARD. As consequence,
Receiving(true) is true and VDR believes there's already a recording
running on the primary device anyway, and starts the recording on the
primary device.
The counter-proof without osdteletext running:
20:35:47 dev=0 crd=0: chan=1 freq=11836 (Hi) pol=h
GetDevice ch=1 dev=0 ndr=0 Receiving(true)=0 Receiving(false)=0
Impact=0011880B
GetDevice ch=1 dev=1 ndr=0 Receiving(true)=0 Receiving(false)=0
Impact=00118804
20:35:55 dev=1 crd=1: chan=1 freq=11836 (Hi) pol=h
... and VDR uses the budget card for recording.
Well, thats the reason, but I'm far from suggesting any fix for it.
Cheers,
Udo
More information about the vdr
mailing list