News:

Latest versions:
Server plugin: 0.5.1
MVP dongle: 0.5.2
Raspberry Pi client: 0.5.2
Windows client: 0.5.2-1

Main Menu

Faster channel switch in live TV

Started by petric, November 20, 2006, 22:43:23

Previous topic - Next topic

petric

Currently using VOMP 2.4 on VDR 1.4.3.

If i switch forward one channel in live TV the MediaMVP waits for the picture coming stable before it jumps to the next channel (if i pressed the "next channel" button twice, or triple, or ...).

Maybe a request for future enhancements.

Schnurps

I noticed that this was much quicker in earlier versions (0.2.3?). It slowed down in 0.2.4, but therefore it is working stable now. Does it have something to do with the changes in the demuxer?

Surely a developer can tell you more about this! :)

Schnurps

Chris

It is probably slower now due to the prebuffering delay. With the way the code is written at the moment this wait has to be uninterruptible otherwise other events would severely confuse the program leading to crashes. This may improve in the future but it will require a lot of work to do. There is one glimmer of hope though: for other reasons, in the next couple of versions we are going to move some work from the server plugin to the mvp which might have the side effect of quicker channel startup times.

petric

If i understand you correctly you collect some data (some seconds of video stream) before you begin to feed the mpeg decoder, right ?

If so why not simply invalidate the buffer contents when a channel switch request comes in ?

Chris

It is quite a bit more complicated than that, the user control thread cannot be released until the main video system is up and running so that the different threads of the programs stay in known controllable states. If the user control thread was released while pre-buffering was still on-going then in the current design you would have to expect it to crash if you gave it another job to do, like change channel or exit. There are probably ways to get around this with some timing code, message passing and intelligence to work out how far the pre-buffering got but so far it hasn't been a priority.

MartenR

Maybe we can do it in another way.
I propose the following mechnismen, if a channel switch occurs, vomp won't get immediately the new video and audio data, but looks if for the next e.g 0.5 seconds not a second channel switch occurs (and wait then if a switch occurs again e.g. 0.5 seconds). And after this it would start with streaming the data. The charm of this would be that only little changes vomp objects are necessary, but you can switch fast from channel 1 to 10 using channel up and down. The same behavior might be used also for skip forward and skip backward.

Marten

dingo35

... and therefore delaying channelswitch with another 0.5 sec for anyone who directly jumps to the right channel ???? I would not be in favor of that; I look through EPG what program I want to look, and then jump to it.

I used to channel-hop also, but with more than 40 "interesting" channels (of 1500 non-interesting) this doesn't work anymore. Also you miss interesting programs that are in a commercial on the moment of hopping...

Best regards to all!