Loggytronic Forum

VOMP => VOMP General / MVP => Topic started by: petric on November 20, 2006, 22:43:23

Title: Faster channel switch in live TV
Post by: petric on November 20, 2006, 22:43:23
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.
Title: Re: Faster channel switch in live TV
Post by: Schnurps on November 20, 2006, 22:51:32
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
Title: Re: Faster channel switch in live TV
Post by: Chris on November 26, 2006, 18:13:14
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.
Title: Re: Faster channel switch in live TV
Post by: petric on November 27, 2006, 17:10:40
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 ?
Title: Re: Faster channel switch in live TV
Post by: Chris on November 27, 2006, 19:16:01
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.
Title: Re: Faster channel switch in live TV
Post by: MartenR on November 28, 2006, 19:00:06
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
Title: Re: Faster channel switch in live TV
Post by: dingo35 on December 10, 2006, 10:32:22
... 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!