Skip to content
Snippets Groups Projects
  • Thomas Guillem's avatar
    lib/media_player: add the vlc_player Timer API · 52cda837
    Thomas Guillem authored and Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf committed
    Any LibVLC users could request a timer from the player. This Media Player
    timer has its own event API since:
    
     - It is only used to receive time update points:
    
     - 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.
    
    The libvlc_media_player_time_point struct is used by timer update
    callbacks. This public struct hold all the informations to interpolate a
    time at a given date. It can be done with the
    libvlc_media_player_time_point_interpolate() helper. That way, it is
    now possible to get the last player time without holding any locks.
    
    There is only one type of timer (for now):
    
    libvlc_media_player_watch_time(): update are sent only when a frame or a
    sample is outputted. Users of this timer should take into account that
    the delay between each updates is not regular and can be up to 1seconds
    (depending of the input). In that case, they should use their own timer
    (from their mainloop) and use
    libvlc_media_player_time_point_interpolate() to get the last time.
    52cda837
media_player_internal.h 2.37 KiB