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

Roland Bewick roland.bewick at gmail.com
Fri Jun 21 20:32:03 CEST 2019


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20190622/ed3897af/attachment.html>


More information about the vlc-devel mailing list