[vlc-devel] [RFC PATCH 00/13] Follow-up on the new output clock

Thomas Guillem thomas at gllm.fr
Wed Jun 27 14:41:22 CEST 2018


During the Majorca core meeting, Francois, Steve, Denis, Rémi, JB, and me
worked on the new VLC output clock. Here is branch resulting of our work during
this meeting https://code.videolan.org/jbk/vlc/tree/clock-core/1

The main part was here, but we missed some important features:
 - ES/Clock delay
 - Debug ES/clock rate changes
 - SPU PTS conversion
 - aout preroll

Denis, jbk and me continued the work. The resulting branch can be found here
https://code.videolan.org/jbk/vlc/tree/clock-core/11

For people who were present during the work shop, the 5 first commits are still
the same. The new commits are between 06 and 13. Commits prefixed with FIXUP
are not meant to be merged in their current state but need to be squashed. I
did that to simplify the review in order to clearly see the difference between
the last clock-core/1 state.

Denis Charmet (2):
  clock: add vlc_clock
  FIXUP: slightly improve rate change

François Cartegnie (1):
  es_out: rebuffer without flush on late PCR

Rémi Denis-Courmont (2):
  aout: add timing notify
  aout: use vlc_clock_t

Thomas Guillem (8):
  es_out: use new vlc_clock_t
  clock: add 'clock-master' option to choose the master clock
  FIXUP: add vlc_clock_ConvertArrayToSystem
  FIXUP: convert SPU dates
  FIXUP: implement audio/video/spu delay
  FIXUP: add a vlc_tick_t system_now to vlc_clock_ConvertToSystem
  FIXUP: fix preroll with !pulse aouts
  pulse: always start at the given system date

 include/vlc_aout.h                  |   1 +
 include/vlc_codec.h                 |   7 +-
 modules/audio_output/pulse.c        |  22 +-
 modules/codec/avcodec/video.c       |   2 +-
 modules/codec/synchro.c             |  14 +-
 src/Makefile.am                     |   2 +
 src/audio_output/aout_internal.h    |  10 +
 src/audio_output/dec.c              | 111 ++++--
 src/audio_output/filters.c          |   2 +-
 src/audio_output/output.c           |   7 +
 src/clock/clock.c                   | 586 ++++++++++++++++++++++++++++
 src/clock/clock.h                   | 135 +++++++
 src/clock/clock_internal.c          |  55 +--
 src/clock/clock_internal.h          |  38 +-
 src/clock/input_clock.c             |  42 +-
 src/input/decoder.c                 | 197 ++++------
 src/input/decoder.h                 |   2 +-
 src/input/es_out.c                  |  72 +++-
 src/input/resource.c                |  10 +-
 src/input/resource.h                |   3 +-
 src/libvlc-module.c                 |  18 +
 src/video_output/control.h          |  13 +
 src/video_output/video_output.c     | 150 +++++--
 src/video_output/vout_internal.h    |  28 ++
 src/video_output/vout_subpictures.c | 166 +++++---
 25 files changed, 1355 insertions(+), 338 deletions(-)
 create mode 100644 src/clock/clock.c
 create mode 100644 src/clock/clock.h

-- 
2.18.0



More information about the vlc-devel mailing list