Am 14.12.2010 21:20, schrieb Luca Olivetti: > Right now I have a recording going on. If I press the "up" channel past > the last channel on the same transponder, vdr is unresponsive for ~30 > seconds. > I guess that sqlite, with a well formulated query and the right indexes, > would take a fraction of a second to realize that there are no more > channels in the same transponder. Actually, what VDR here does is to tune to each and every channel in your channels.conf after the current, until there's a channel that successfully tunes. Doing an additional sql query for each and every channel in your channels.conf wouldn't improve that, I guess. Two things make this a slow thing: First, the channel list is a linked list, and if you switch from 1000 to 1001, VDR runs through the list starting at 1 until 1001. If 1001 doesn't tune, VDR runs again from 1 to 1002. A C++ map would speed things up a lot, a persistent channel iterator even more. The second thing is the tuning. "Get next channel on this transponder" sounds simple, but actually deciding whether a channel is tuneable involves 17 different rules that get checked against each device, plus probing the CAM whether the channel can be decoded by the CAM. I think that part is even slower than the whole channel list. But after all, there are more important things that need work, than speeding up such special cases. Cheers, Udo _______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr