On Wed, Mar 02, 2005 at 01:22:16PM +0900, Jack Porter wrote: > While waiting for the external program to exit is one source of the > delay in channel changing, the rest of the delay involves pausing the > ringbuffer, asking the backend to change the channel (potentially over a > network), etc.
One number thrown around in the archives is 2 second delay for the ringbuffer. That I can probably live with for channel surfing. 8 seconds is a little much for me. > IMO the actual channel changing should be asynchronous to the user > interface (key presses/OSD update). At the moment the backend decides > what the "next" and "previous" channels are when you press the up and > down channel buttons. Instead, the frontend should do as much as > possible locally, and update the OSD immediately. A background thread > should then look to see if the currently requested channel is different > from the actual channel and perform the actual channel change there. These are the exact thoughts I've been working with the last week. A minor addition is that somehow needs to be a holdoff in there. It needs to detect that user hasn't pressed a up/down button in ~1 second before attempting changing channel. Else there is a high chance that the changing churn will still happen. The one negative thing with this change is that non-IRBlaster people can tell if a channel tune fails. The above approach would allow the frontend to be showing an OSD tuned to a channel thats not really there (not to negative, my dish network box allows this behavior and either displays a black screen or a delayed pop-up box once the error is realized). > My digital cable box takes more than a second to change channels but > it's still a pleasure to channel surf because the OSD instantly shows > the program title and the channel change occurs in the background as > soon as you stop pressing the channel up or down button. Ditto how my Dish Network box works. I also had a comcast cable box that worked the same way. Comcast took ~4 seconds to change channels but didn't feel so bad because of the above behavior. > I've been planning on implement something like this for a while, but > haven't had the chance yet. If I can't get changing channels down to ~2 seconds then I'll be exploring this as well... All design hints welcome. Thanks for your comments! Chris
_______________________________________________ mythtv-dev mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
