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

Thomas Guillem thomas at gllm.fr
Mon Jun 24 14:14:04 CEST 2019


On Mon, Jun 24, 2019, at 11:38, Thomas Guillem wrote:
> I'm think of the following name changes to reflect what each function is doing.
> 
> vlc_player_SelectEsId => vlc_player_SwitchEsId
> vlc_player_UnselectEsId => vlc_player_DisableEsId
> vlc_player_AddEsId => vlc_player_EnableEsId
> vlc_player_SelectEsIdList => vlc_player_SetEsIdList

Forget it, I prefer what I just proposed on the ML: "player: Add a policy to vlc_player_SelectEsId"

> 
> On Fri, Jun 21, 2019, at 20:32, Roland Bewick wrote:
>> 
>> 
>> On Sat, 22 Jun 2019 at 12:29 AM, Alexandre Janniaux <ajanni at videolabs.io> wrote:
>>> Hi,
>>> 
>>> I didn't checked the code, only the gif, but maybe you can use a different QML
>>> component that doesn't trigger the close of the menu ?
>> 
>> Isn’t it standard behaviour for the menu to close when an option is clicked? Anyway, I was just trying to point out that I had implemented what Thomas thought was missing:
>> 
>> “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.”
>> 
>> There were some unsolved issues though with the API but Thomas’ changes have solved them I think.
>> 
>> 
>>> 
>>> 
>>> Regards,
>>> 
>>> -- 
>>> Alexandre Janniaux
>>> VideoLabs
>>> 
>>> 
>>> On Fri, Jun 21, 2019 at 12:58:46PM +0700, Roland Bewick wrote:
>>> > 
>>> > On 20/06/2019 10:23 PM, 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.
>>> > 
>>> > That's what I added, see a gif:
>>> > https://gyazo.com/5520dee77935f14020cb879a791e24c1
>>> > 
>>> > The only issue was that the checkboxes show rather than radio buttons when
>>> > dual subtitles is disabled. But that is an existing bug.
>>> > 
>>> > Now that you've made the changes to retrieve the spu_order for a vlc_es_id,
>>> > I think the interaction between the QT interface and hotkeys plugin is
>>> > minimal. In fact, as far as I can see the only requirement is for the QT
>>> > interface to listen to track selection changes and toggle the "Enable Dual
>>> > Subtitles" checkbox if there is a track with
>>> > VLC_SPU_CHANNEL_ORDER_SECONDARY.
>>> > 
>>> > Other than that, I'm happy with your changes. Thank you for picking up my
>>> > work and seeing it to completion :-)
>>> > 
>>> > > 
>>> > > 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(-)
>>> > > 
>>> > _______________________________________________
>>> > vlc-devel mailing list
>>> > To unsubscribe or modify your subscription options:
>>> > https://mailman.videolan.org/listinfo/vlc-devel
>>> _______________________________________________
>>> vlc-devel mailing list
>>> To unsubscribe or modify your subscription options:
>>> https://mailman.videolan.org/listinfo/vlc-devel
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20190624/4a834f41/attachment.html>


More information about the vlc-devel mailing list