Udo Richter wrote:
On 21.01.2009 19:33, Gerald Dachs wrote:
Assumed I have 2 free Tuners and I zapp through the channels of one tuner. Would it be possible to tune the 2. tuner to the same time to the after next channel in change direction, so that for the next channel change in the same direction it would be possible to channge to the 2. tuner instead of changing the channels of the 1. tuner
Channel switching delay is caused by two delays: First, the time to tune and lock the new transponder, second, the time till the next compressed stream starting point (I-Frame or audio syncword) is reached. This second time can be up to a second by its own.
To get instant switching, you would have to also decode the second stream in the background, so that the current frame is available the moment it is needed. Or you can buffer the last GOP of the stream and go back to that point on channel switch. You would have to ring-buffer up to one complete GOP permanently in memory to keep the delay from there on.
Both things are tricky to implement, require work on the output devices, and are probably not worth the effort.
Yes, the only case i think this could be useful is when the number of tuners >= transponders/muxes and you always receive all of them. Hmm, it might actually make sense for dvb-t (or -c) in some cases. Anyway, back when i was using a dvb-s ff card the tuning itself seemed to be slow, so what i did was cache some parms such as freq, srate, fec, voltage and tone in the driver, to avoid touching the hw/firmware for those that didn't change (the dvb api resulted in the driver always getting a new set of parms, even when some/most of them hadn't changed). That seemed to speed up the channel switches a bit, but as the card was never 100% reliable and would sometimes fail to correctly tune, i never went further with that. Now i think it was probably the pci host that was causing the trouble, and the changes may have been fine.
artur