On 23 Jan 2009, at 23:55, 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.
Depends if you mean "not worth the effort" == (salary paid developer to implement feature - extra income due to extra sales) or if we're talking some hacking away on it for the heck of it. :)
With vdpau and other accelerated output methods on generic opengl capable hardware becoming available, it can easily be seen advantageous to be able to fetch a new transponder while the old is still in use, to do picture in picture or other fancy effects. The frontend could be more intelligent, and just request channels as it see fit, this is also what's needed in order to implement multi- frontend setups with vdr. The recording subsystem can fetch as many channels as it needs as long as there is enough free tuners, so why shouldn't the frontend be able to do it as well?