[vlc-devel] [PATCH 00/20] player: multiple track handling
Thomas Guillem
thomas at gllm.fr
Thu Jun 20 17:23:43 CEST 2019
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
More information about the vlc-devel
mailing list