[vlc-devel] [PATCH 00/20] player: multiple track handling

Thomas Guillem thomas at gllm.fr
Thu Jun 20 17:26:28 CEST 2019


The branch is available here: https://code.videolan.org/tguillem/vlc/commits/multiple-es/3

You can also review it on gitlab.

On Thu, Jun 20, 2019, at 17:24, Thomas Guillem wrote:
> Hello,
> 
> Here is the result of the merge of Roland Bewick work about dual subtitles
> handling.
> 
> I started from Roland's work but did some modifications, mainly for polishing
> the player API regarding multiple tracks handling. For now, only multiple video
> and dual subtitles are supported, but we won't have to modify the player API if
> we add multiple audio support later.
> 
> I rejected the change regarding dual tracks selection in Qt. I didn't like the
> way it interacted with the hotkeys plugin. Multiple tracks selection inside Qt
> should be more graphical, like adding a checking in tracks selection to enable
> multiple mode, then selecting a track will add it instead of replacing it.
> 
> The player gained finer controls with SPU tracks. Indeed, users can know which
> vout is linked with wich SPU tracks, and if a SPU track is primary or secondary.
> 
> Regards,
> Thomas
> 
> Roland Bewick (12):
>   demux: add DEMUX_SET_ES_LIST control
>   input: add INPUT_CONTROL_SET_ES_LIST
>   player: add vlc_player_SelectEsIdList
>   vout: spu: handle secondary channel order
>   vout: spu: pass channel order to vout_ChangeSubMargin
>   player: handle secondary-sub-margin notification
>   libvlc: add secondary sub options
>   libvlc: add a key to switch spu channel orders
>   vout: handle secondary-sub-margin callback
>   hotkeys: handle secondary subtitles options
>   qt: add secondary sub margin/alignment preferences
>   qt: add secondary subtitle delay synchronization
> 
> Thomas Guillem (8):
>   input: add input_SetEsIdDelay
>   es_out: handle all tracks delays in EsOutGetTracksDelay
>   player: add vlc_player_SetEsIdDelay
>   vout: spu: use mutex instead of atomic
>   input: pass vout and spu_order via events
>   player: rename vlc_player_GetVoutFromEsId
>   player: get vout and spu channel order from SPU es_ids
>   qt: re-indent after last commit
> 
>  include/vlc_actions.h                         |   2 +
>  include/vlc_demux.h                           |   3 +-
>  include/vlc_es_out.h                          |   1 +
>  include/vlc_player.h                          |  93 +++++++++-
>  include/vlc_vout.h                            |  10 +
>  lib/media_player.c                            |   9 +-
>  modules/access/bluray.c                       |   3 +
>  modules/control/gestures.c                    |   8 +-
>  modules/control/hotkeys.c                     | 154 +++++++++++++--
>  modules/demux/adaptive/plumbing/FakeESOut.cpp |   1 +
>  modules/demux/asf/asf.c                       |   3 +
>  modules/demux/mock.c                          |   2 +
>  modules/demux/mpeg/ts.c                       |  10 +-
>  .../gui/macosx/playlist/VLCPlayerController.m |   7 +-
>  modules/gui/qt/components/extended_panels.cpp |  44 ++++-
>  modules/gui/qt/components/extended_panels.hpp |   2 +
>  .../gui/qt/components/player_controller.cpp   |  98 ++++++++--
>  .../gui/qt/components/player_controller.hpp   |   4 +
>  .../gui/qt/components/player_controller_p.hpp |   6 +-
>  .../gui/qt/components/simple_preferences.cpp  |   3 +
>  modules/gui/qt/ui/sprefs_subtitles.ui         |  91 +++++++++
>  .../chromecast/chromecast_demux.cpp           |   1 +
>  src/input/decoder.c                           |  40 +++-
>  src/input/demux.c                             |   1 +
>  src/input/es_out.c                            | 100 +++++++++-
>  src/input/es_out.h                            |   8 +
>  src/input/es_out_timeshift.c                  |   2 +
>  src/input/event.h                             |   9 +
>  src/input/input.c                             |  49 +++++
>  src/input/input_internal.h                    |  23 +++
>  src/input/player.c                            | 175 +++++++++++++++++-
>  src/libvlc-module.c                           |  29 +++
>  src/libvlccore.sym                            |   6 +-
>  src/misc/actions.c                            |   1 +
>  src/video_output/video_output.c               |  10 +-
>  src/video_output/vout_internal.h              |  10 +-
>  src/video_output/vout_intf.c                  |  22 ++-
>  src/video_output/vout_subpictures.c           | 107 ++++++++---
>  test/src/input/player.c                       |   5 +-
>  39 files changed, 1056 insertions(+), 96 deletions(-)
> 
> -- 
> 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