[vdr] [1.3.40] Fast channel switching resets

Klaus Schmidinger Klaus.Schmidinger at cadsoft.de
Sun Jan 22 23:21:43 CET 2006


Andreas Share wrote:
> 
> 
> 
>> Udo Richter wrote:
>>
>>>> - Switching channels with the Up/Down or Channel+/Channel- keys now 
>>>> works a lot
>>>>   faster when the repeat function kicks in, by not actually 
>>>> switching the
>>>>   channel every time, but rather only displaying the channel info 
>>>> and doing
>>>>   the final switch when the key is released.
>>>
>>>
>>>
>>> Nice idea, but not working for me.
>>>
>>> If I hold down ChUp on my remote, VDR just goes one channel up. Then, 
>>> the repeat kicks in and the channel number counts up rapidly, but 
>>> resets to the current channel after 10-40 channels (1-2 seconds), 
>>> then starts counting up again. No channel switches after the first 
>>> one in log files.
>>> After releasing ChUp, the final channel switch happens, to the 
>>> channel that was shown at that time.
>>>
>>> With keyboard, the ChUp is waaay slower, but works. From the logs, 
>>> each channel is switched separately, just as without repeat.
>>>
>>> Remote support is based on remote-0.3.3, keyboard support is 
>>> VDR-builtin. No other plugins loaded.
>>
>>
>> Well, I could only test this with my own RCU stuff, but I just
>> assumed that it should work just as well with LIRC.
>>
>> It can't work with the keyboard, because there is no "repeat"
>> functionality in cKbdRemote. Maybe somebody could find a way
>> to implement that ;-)
>>
>> So basically I'm afraid I can't help here. The functionality
>> works great with my RCU, so I would assume that there are some
>> glitches in cLircRemote or the remote plugin you're using.
>> My guess would be that there is no uninterrupted stream of
>> "repeat" keypresses. As soon as a non-repeat keypress is
>> received, a channel switch will take place.
>>
> 
> Hi,
> 
> i also use the RCU, but i have the same effect as Udo....i use a old 
> Dbox1 remote control.
> 
> Andreas

Please put a line like

   fprintf(stderr, "%04X\n", Key);

at the beginning of cDisplayChannel::ProcessKey() and check
whether, when you press the Up key, hold it down for a while
and finally release it, you get

0000
8000
8000
8000
8000
8000
8000
8000
8000
8000
8000
8000
8000
4000

The important thing is that there is not a single 0000 between
all the 8000. If you do get an interruption there, then you
should trace that back to where it comes from.

Klaus



More information about the vdr mailing list