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

Thomas Guillem thomas at gllm.fr
Fri Aug 23 17:15:52 CEST 2019



On Fri, Aug 23, 2019, at 16:45, Thomas Guillem wrote:
> Branch available here: 
> https://code.videolan.org/tguillem/vlc/tree/clock-update/9
> 
> Changes since the V1:
> 
>  - Don't pass the clock as a parameter to clock udpates
> 
>  - Use VLC_TICK_0 as origin, and not 0
> 
>  - Handle the b_access_control case in mpeg/ts.c (no first_pcr)
> 
>  - Reworked ES_OUT_SET_FIRST_PCR/vlc_clock_main_SetFirstPcr():
> Replaced with ES_OUT_ADD_ORIGIN_TIME / vlc_clock_main_AddOriginPoint(), cf.
> patches 01, 02 and 03. Demuxers can send origin points to the main clock via
> the es_out. The clock will keep a map of origin points and will fix ts with
> their origin before being sent via callbacks. This fixes a TOCTOU issue when
> the ts module updated its origin more than one time.

And also: removed the REGULAR timer. 

> 
> Thomas Guillem (13):
>   clock: rename SetFirstPcr to SetReferencePoint
>   clock: add AddOriginPoint
>   es_out: add the ES_OUT_ADD_ORIGIN_TIME control
>   ts: update the origin time to the es_out
>   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                          | 134 ++++++++++
>  modules/audio_output/adummy.c                 |  61 ++++-
>  modules/demux/mock.c                          |   3 +-
>  modules/demux/mpeg/ts.c                       |  24 ++
>  modules/demux/mpeg/ts_streams.c               |   2 +-
>  modules/demux/mpeg/ts_streams_private.h       |   1 +
>  .../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                             | 147 +++++++++--
>  src/clock/clock.h                             |  49 +++-
>  src/input/es_out.c                            |  60 ++++-
>  src/input/es_out_timeshift.c                  |  16 ++
>  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                           |  16 +-
>  src/player/player.h                           |  44 +++-
>  src/player/timer.c                            | 240 ++++++++++++++++++
>  test/src/player/player.c                      | 155 ++++++++++-
>  26 files changed, 1120 insertions(+), 115 deletions(-)
>  create mode 100644 src/player/timer.c
> 
> -- 
> 2.20.1
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list