I am curious how vdr's tuning algorithm, in general, works. With all the
refactoring that has gone on with how vdr tunes, locks, retunes, and
otherwise tries to anticipate various forms of interference, storms, or
other activities that could hinder vdr from performing its job adequitely,
please describe, in pseudocode, how the tuning algorythm actually works.
Some of my questions are:
1) What do all the tuning timers mean? There are some constants in vdr
code, what are the meanings of each tuning state? (i.e. the switch
statement in dvbdevice.c.
2) Given that we understand what all the timers do, which ones depend on
eachother? What are safe limits for each timer? For example, one timer is
the DVBS_TUNE_TIMEOUT that traditionally is set to 9000 (miliseconds) but at
times it takes my dvb card upwards of 18 seconds to actually tune the
channel (so I might wish to set this to 19000 instead of 9000). What other
timers need to be adjusted if any to account for this?
3) Does vdr care or know anything about a rotor setup where the channel
isn't always present the moment the diseqc commands are sent?
4) There has been some talk in the past about refactoring this process some,
do we think the current approach is the best approach? Does vdr-1.5.x plan
to offer new and improved tuning algos?
vdr mailing list