[vlc-devel] [RFC PATCHv2 06/10] lib: media_track: add new members

Thomas Guillem thomas at gllm.fr
Thu Jun 4 23:23:21 CEST 2020


That will be used by player tracks.
---
 include/vlc/libvlc_media_track.h | 15 +++++++++++++++
 lib/media_track.c                |  4 ++++
 2 files changed, 19 insertions(+)

diff --git a/include/vlc/libvlc_media_track.h b/include/vlc/libvlc_media_track.h
index 05e7457a4e..9fb3828433 100644
--- a/include/vlc/libvlc_media_track.h
+++ b/include/vlc/libvlc_media_track.h
@@ -139,6 +139,21 @@ typedef struct libvlc_media_track_t
     char *psz_language;
     char *psz_description;
 
+    /** String identifier of track, can be used to save the track preference
+     * from an other LibVLC run, only valid when the track is fetch from a
+     * media_player */
+    const char *psz_id;
+    /** A string identifier is stable when it is certified to be the same
+     * across different playback instances for the same track, only valid when
+     * the track is fetch from a media_player */
+    bool id_stable;
+    /** Name of the track, only valid when the track is fetch from a
+     * media_player */
+    char *psz_name;
+    /** true if the track is selected, only valid when the track is fetch from
+     * a media_player */
+    bool selected;
+
 } libvlc_media_track_t;
 
 /**
diff --git a/lib/media_track.c b/lib/media_track.c
index a6c364a4e5..ce7b7bf22f 100644
--- a/lib/media_track.c
+++ b/lib/media_track.c
@@ -55,6 +55,9 @@ libvlc_media_trackpriv_from_es( libvlc_media_trackpriv_t *trackpriv,
     track->i_bitrate = es->i_bitrate;
     track->psz_language = es->psz_language != NULL ? strdup(es->psz_language) : NULL;
     track->psz_description = es->psz_description != NULL ? strdup(es->psz_description) : NULL;
+    track->psz_id = NULL;
+    track->psz_name = NULL;
+    track->selected = false;
 
     switch( es->i_cat )
     {
@@ -110,6 +113,7 @@ libvlc_media_track_clean( libvlc_media_track_t *track )
 {
     free( track->psz_language );
     free( track->psz_description );
+    free( track->psz_name );
     switch( track->i_type )
     {
     case libvlc_track_audio:
-- 
2.20.1



More information about the vlc-devel mailing list