[mythtv] [PATCH] Changing channels in the background
Chris Bagwell
chris at cnpbagwell.com
Wed Mar 2 05:27:17 UTC 2005
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
More information about the mythtv-dev
mailing list