Skip to content
Snippets Groups Projects

player: improve seek

Merged Thomas Guillem requested to merge tguillem/vlc:relative-seek into master
  1. Jan 19, 2024
    • Thomas Guillem's avatar
      qt: implement timer.on_seek · c20e4543
      Thomas Guillem authored and Steve Lhomme's avatar Steve Lhomme committed
      Set the time and position to the requested seek point. Pause timers
      while seeking.
      c20e4543
    • Thomas Guillem's avatar
      input: remove JUMP controls · 396c8141
      Thomas Guillem authored and Steve Lhomme's avatar Steve Lhomme committed
      The input_thread can now only seek with absolute values.
      396c8141
    • Thomas Guillem's avatar
      player: always seek the input_thread with absolute values · 05c9c727
      Thomas Guillem authored and Steve Lhomme's avatar Steve Lhomme committed
      Don't use INPUT_CONTROL_JUMP_POSITION and INPUT_CONTROL_JUMP_TIME, that
      use input times from the demuxer. Instead, add up the time from the
      player timer, that use ts from the output clocks.
      
      This fixes a possible gap with relatives seeks, depending on the input
      source or output delay (aout).
      
      For examples, seeking -3s was seeking -2s and seeking +3s was seeking
      +4s before this commit. Now seeking back and forth with stay at the same
      position.
      
      Fixes #28482
      Fixes #27383
      05c9c727
    • Thomas Guillem's avatar
      player: expose seeking from GetPos/GetTime · 293d8919
      Thomas Guillem authored and Steve Lhomme's avatar Steve Lhomme committed
      293d8919
    • Thomas Guillem's avatar
      player: timer: handle seek state · 1ecb283c
      Thomas Guillem authored and Steve Lhomme's avatar Steve Lhomme committed
      Keep the last requested seek position/time, that will be used for
      successive jumps. It will be more precise than using the demux
      GET_TIME/GET_POSITION.
      
      Send 'on_seek' callback with a valid point when starting a new seek.
      This callback will be called with a NULL point once all seek requests
      are processed.
      
      UI have now the choice to update their time/position to the seeked
      value. This will fix the UI not updated when the seek is long to
      process.
      
      Refs #27383
      Refs #28482
      1ecb283c
Loading