[vlc-devel] [PATCH 08/13] player: add the timer API

Rémi Denis-Courmont remi at remlab.net
Thu Aug 22 17:12:10 CEST 2019


Le torstaina 22. elokuuta 2019, 12.06.00 EEST Thomas Guillem a écrit :
> On Wed, Aug 21, 2019, at 19:28, Rémi Denis-Courmont wrote:
> > Le keskiviikkona 21. elokuuta 2019, 17.13.59 EEST Thomas Guillem a écrit :
> > > Any interface or control modules could request a timer from the player.
> > > This> > 
> > > player timer is like the player event listener except that:
> > >  - It is only used to receive time update
> > >  
> > >  - The timer is not locked by the player lock. Indeed the player lock
> > >  can be
> > > 
> > > too "slow" (it can be recursive, it is used by the playlist, and is it
> > > held
> > > when sending all events). So it's not a good idea to hold this lock for
> > > every frame/sample updates.
> > > 
> > >  - The minimum delay between each updates can be configured: it avoids
> > >  to
> > > 
> > > flood the UI when playing a media file with very high fps or very low
> > > audio
> > > sample size.
> > 
> > I don't think that works.
> 
> cf. Qt implementation.

I don't think any existing implementation around the clumsy existing API is a 
good reference.

> > A UI would typically want to know when the clock crosses a certain
> > threshold, e.g. everytime the value of lround(play_time / CLOCK_FREQ)
> > changes. In other words, it wants to know when to replace 00:00 with
> > 00:01.
> 
> It can't work, some inputs have audio samples size that are bigger than one
> seconds,

I did write "e.g. (...) CLOCK_FREQ". The threshold could be whole second, 
whole frame interval, whole slider pixel, or whatever. Point is that typically 
GUI wants to know when a play time interval starts, rather than the play time 
poll at a regular interval.

If user seeks to 00:12:42.931, the UI wants to update the display at 
00:12:43.000, not at 00:12:43.931.

-- 
レミ・デニ-クールモン
http://www.remlab.net/





More information about the vlc-devel mailing list