[vlc-devel] commit: Qt4: position slider: send seek events at regular intervals ( Jakob Leben )

Laurent Aimar fenrir at via.ecp.fr
Wed Nov 25 16:52:36 CET 2009


Hi,

On Wed, Nov 25, 2009, Rémi Denis-Courmont wrote:
> 
> On Wed, 25 Nov 2009 16:05:13 +0100, Jakob Leben <jakob.leben at gmail.com>
> wrote:
> >> This should be done in the input thread directly. To that end, we should
> >> set a finite "target state" of the input, instead of pushing requests.
> >> Then older requests are automatically discarded if a contradictory
> >> requests is sent before the older ones are coped with.
> > 
> > This could also lead to no requests ever being carried out until the last
> > one in a row. You do need a notion of time and simply not respond to new
> > request until one has been realized, then you go on realizing the last
> one
> > arrived meanwhile.
> 
> I don't see that. When the input thread notices the target and the current
> states are different, it will start seeking (or whatever else depending on
> what piece of state does not match). When it's done, it will check again
> and re-iterate.
 It is alreay done like that. You don't see it because, the video does not
have the time to be displayed before a new seek is issued. The code executing
the seek does the seek at the demuxer level, but does not look at the decoder
level.
 What could be done is to postpone a new seek execution until either the decoder
has displayed a frame or a (small) timeout (in src/input/input.c). It might be a
bit tricky but I could have a look at it this WE.

-- 
fenrir



More information about the vlc-devel mailing list