Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: [Patch] starting section handler after the first tuneinstead during vdr start



Alfred Zastrow wrote:
> Klaus Schmidinger wrote:
> 
> 
>>That's odd...
>>
>>I would expect the "wait for lock" stuff in the section handler
>>to enable section handling even later than the original patch
>>did, so I don't see why this would be any worse than just moving
>>the StartSectionHandler() call.
>>
>>Are you sure that this would not have happened with the original
>>patch? I tend to doubt that...
> 
> 
> The "1st" lock seems to be not stable.
> 

Yes. There was a bug in the dvb-kernel which together with the lock
detection in cDvbTuner:Action() caused the indication of a lock if
actually there is no stable lock.

VDR assumes a valid lock if it gets the first 0x1f FE status event (the
first rising edge of FE_HAS_LOCK so to say). This holds until the next
tuning. With DVB kernel I observed 2 situations:

1. Tuning from a locked channel to a channel where no lock can be found:
The first status events are 0x00, 0x1f (nearly at the same time) ->
HasLock = true. Abt. 100ms later the FE status changes to 0x01 or 0x03
but HasLock stays true. This happens on the 2nd card while trying to
tune to a channel number 0 (what does this mean btw?).

2. Tuning from a locked channel to another valid channel:
VDR gets events 0x00/0x1f immediately after setting the frontend. This
is not correct too (I assume a frontend can not retune to a new channel
in < 1ms)

So my suggestions would be:

1. Check that FE_HAS_LOCK remains stable for some time. I'm using 300ms,
which may be a little longer than necessary. See my patch to
cDvbTuner::Action() I posted on this list recently.

2. Use the fixed DVB kernel driver.

With modification 1 alone I have not got any more errors. This does not
mean that this is the solution for all of the VDSB etc. errors. I think
there are a number of different reasons for these errors.

> I often observe after a channel switch:
> 
> - black screen for a part of a second during switching
> - a picture appears for a part of a second
> - a black screen appears for a part of a second
> - picture appears again and stays
> 

Exactly. This does not happen any more for me too.
> 
> Regarding reliability:
> I had the most stable system with the patch of AS and the bsrv2 
> frontenddriver (see my Mail in dvb-ML)
> 
> 
> Alfred
> 
> 
> BTW. There is a define "WAIT_FOR_LOCK_AFTER_TUNING" in dvbdevice.c. This 
> was set to "1" by me, also in the sources where I applied your patch.
>

I think this may not work as expected with the wrong lock detection.

Wolfgang


> 






Home | Main Index | Thread Index