[vlc-devel] [PATCH 00/13] player: add a timer API

Thomas Guillem thomas at gllm.fr
Wed Aug 21 16:13:51 CEST 2019


Hello,

cf. https://code.videolan.org/tguillem/vlc/tree/clock-update/7 for the gitlab
branch.

This patch set aims to fixes several issues with the player (that was present
with the input_thread_t public API):

 - Delay between the input time and the output time resulting of a gap between
   UI time widgets and the outputted content (can be up to 2 seconds on some
   OS/ports).

 - Receiving too many time updates (very high fps or very low audio sample
   size) resulting on a CPU flood from the UI.

 - Not receiving enough time updates. Some inputs can have sample size bigger
   than 1 seconds. In that case, the time widget were updated every one seconds
   or more.

If this set is accepted, every interface/control modules should use this timer
instead of the on_position_changed() event.

Regards,

Thomas Guillem (13):
  clock: rename SetFirstPcr to SetReferencePoint
  clock: add SetFirstPcr
  es_out: add the ES_OUT_SET_FIRST_PCR control
  ts: notify the first pcr
  clock: forward clock update points
  input: forward clock update points
  input: send pause/playing date via events
  player: add the timer API
  aout: dummy: implement TimeGet
  demux: mock: add audio_block_length param
  test: player: add audio_block_length param
  test: player: test the timer API
  qt: use the new player timer

 include/vlc_es_out.h                          |   4 +
 include/vlc_player.h                          | 140 +++++++
 modules/audio_output/adummy.c                 |  61 +++-
 modules/demux/mock.c                          |   3 +-
 modules/demux/mpeg/ts.c                       |   5 +
 .../gui/qt/components/player_controller.cpp   | 119 +++---
 .../gui/qt/components/player_controller.hpp   |   1 +
 .../gui/qt/components/player_controller_p.hpp |   8 +
 src/Makefile.am                               |   1 +
 src/clock/clock.c                             |  97 +++--
 src/clock/clock.h                             |  50 ++-
 src/input/es_out.c                            |  78 +++-
 src/input/es_out_timeshift.c                  |   6 +
 src/input/event.h                             |  16 +-
 src/input/input.c                             |  25 +-
 src/input/input_internal.h                    |  23 +-
 src/input/item.c                              |   2 +-
 src/input/thumbnailer.c                       |   4 +-
 src/libvlccore.sym                            |   3 +
 src/player/input.c                            |  77 +++-
 src/player/player.c                           |  18 +-
 src/player/player.h                           |  46 ++-
 src/player/timer.c                            | 341 ++++++++++++++++++
 test/src/player/player.c                      | 183 +++++++++-
 24 files changed, 1197 insertions(+), 114 deletions(-)
 create mode 100644 src/player/timer.c

-- 
2.20.1



More information about the vlc-devel mailing list