[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