[vlc-devel] [RFC PATCH 0/6] libvlc: new track list and new track selection

Thomas Guillem thomas at gllm.fr
Tue Jun 2 22:02:04 CEST 2020


Hello,

I propose a new API for getting the track list: libvlc_media_tracklist_*. It
will be simpler to use (no more triple pointers in a public API).

This new tracklist and the existing libvlc_media_track_t will also be used by
the libvlc_media_player. Only 2 public variables are needed for the
media_player case (selected and name), that is why I chose to use the existing
libvlc_media_track_t. The pointer to the vlc_es_id_t (to enable vlc_player_t
selection) is also added to the private part of the track.

This new API allow the selection of multiples tracks.

This is a RFC, any comments and suggestions are welcome. In the meantime, I
will work on the following:

 - New track selected/added/removed event
 - Remove old track/description API
 - Use the new API in the test

Best,
Thomas Guillem (6):
  lib: media: factorize track type conversion
  lib: move libvlc_media_track_t to a specific header
  lib: move track in media_track.c
  lib: add libvlc_media_tracklist API
  lib: add libvlc_media_get_tracklist()
  lib: add a new libvlc_media_player track selection API

 include/vlc/libvlc_media.h        | 127 +++-------------
 include/vlc/libvlc_media_player.h |  89 +++++++++++
 include/vlc/libvlc_media_track.h  | 197 ++++++++++++++++++++++++
 lib/Makefile.am                   |   2 +
 lib/libvlc.sym                    |   4 +
 lib/media.c                       | 113 +++-----------
 lib/media_internal.h              |  58 +++++++
 lib/media_player.c                | 103 +++++++++++++
 lib/media_player_internal.h       |   3 +
 lib/media_track.c                 | 245 ++++++++++++++++++++++++++++++
 10 files changed, 748 insertions(+), 193 deletions(-)
 create mode 100644 include/vlc/libvlc_media_track.h
 create mode 100644 lib/media_track.c

-- 
2.20.1



More information about the vlc-devel mailing list