<html><head></head><body>Hi,<br><br>I'm pretty sure multiple video tracks are supported, or were until recently, and some files require it anyway.<br><br>Multiple audio tracks work fine (--sout-all --sout '#display'). There's just no ES out support to date.<br><br><div class="gmail_quote">Le 24 janvier 2020 18:20:48 GMT+02:00, Thomas Guillem <thomas@gllm.fr> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">The libvlc_media_player is no longer exposing the "disable" tracks. LibVLC<br>users should now explicitly call these 3 new unset functions to disable a<br>track category.<br><br>These new functions don't support disabling a specific track of a category.<br>This can be done in a separate commit by adding the following calls:<br><br>libvlc_video_add_spu()<br>libvlc_video_remove_spu()<br><br>Since VLC support multi tracks for SPU only (for now).<hr> include/vlc/libvlc_media_player.h | 25 +++++++++++++++++++++++++<br> lib/audio.c                       |  8 ++++++++<br> lib/libvlc.sym                    |  3 +++<br> lib/video.c                       | 16 ++++++++++++++++<br> 4 files changed, 52 insertions(+)<br><br>diff --git a/include/vlc/libvlc_media_player.h b/include/vlc/libvlc_media_player.h<br>index 7c72c9774b2..6648ba6a5ad 100644<br>--- a/include/vlc/libvlc_media_player.h<br>+++ b/include/vlc/libvlc_media_player.h<br>@@ -1575,6 +1575,14 @@ LIBVLC_API libvlc_track_description_t *<br>  */<br> LIBVLC_API int libvlc_video_set_spu( libvlc_media_player_t *p_mi, int i_spu );<br> <br>+/**<br>+ * Unset the current subtitle<br>+ *<br>+ * \param p_mi the media player<br>+ * \version LibVLC 4.0.0 and later<br>+ */<br>+LIBVLC_API void libvlc_video_unset_spu( libvlc_media_player_t *p_mi );<br>+<br> /**<br>  * Get the current subtitle delay. Positive values means subtitles are being<br>  * displayed later, negative values earlier.<br>@@ -1792,6 +1800,15 @@ LIBVLC_API int libvlc_video_get_track( libvlc_media_player_t *p_mi );<br> LIBVLC_API<br> int libvlc_video_set_track( libvlc_media_player_t *p_mi, int i_track );<br> <br>+/**<br>+ * Unset the current video track.<br>+ *<br>+ * \param p_mi media player<br>+ * \version LibVLC 4.0.0 and later<br>+ */<br>+LIBVLC_API<br>+void libvlc_video_unset_track( libvlc_media_player_t *p_mi );<br>+<br> /**<br>  * Take a snapshot of the current video window.<br>  *<br>@@ -2213,6 +2230,14 @@ LIBVLC_API int libvlc_audio_get_track( libvlc_media_player_t *p_mi );<br>  */<br> LIBVLC_API int libvlc_audio_set_track( libvlc_media_player_t *p_mi, int i_track );<br> <br>+/**<br>+ * Unset the current audio track.<br>+ *<br>+ * \param p_mi media player<br>+ * \version LibVLC 4.0.0 and later<br>+ */<br>+LIBVLC_API void libvlc_audio_unset_track( libvlc_media_player_t *p_mi );<br>+<br> /**<br>  * Get current audio channel.<br>  *<br>diff --git a/lib/audio.c b/lib/audio.c<br>index aab84cd47a9..36695fe06da 100644<br>--- a/lib/audio.c<br>+++ b/lib/audio.c<br>@@ -394,6 +394,14 @@ end:<br>     return i_ret;<br> }<br> <br>+void libvlc_audio_unset_track(libvlc_media_player_t *p_mi)<br>+{<br>+    vlc_player_t *player = p_mi->player;<br>+    vlc_player_Lock(player);<br>+    vlc_player_UnselectTrackCategory(player, AUDIO_ES);<br>+    vlc_player_Unlock(player);<br>+}<br>+<br> /*****************************************************************************<br>  * libvlc_audio_get_channel : Get the current audio channel<br>  *****************************************************************************/<br>diff --git a/lib/libvlc.sym b/lib/libvlc.sym<br>index d8fb0806bca..cc0535b868b 100644<br>--- a/lib/libvlc.sym<br>+++ b/lib/libvlc.sym<br>@@ -39,6 +39,7 @@ libvlc_audio_set_format<br> libvlc_audio_set_format_callbacks<br> libvlc_audio_set_callbacks<br> libvlc_audio_set_volume_callback<br>+libvlc_audio_unset_track<br> libvlc_chapter_descriptions_release<br> libvlc_clock<br> libvlc_dialog_dismiss<br>@@ -253,6 +254,8 @@ libvlc_video_set_teletext<br> libvlc_video_set_track<br> libvlc_video_take_snapshot<br> libvlc_video_new_viewpoint<br>+libvlc_video_unset_track<br>+libvlc_video_unset_spu<br> libvlc_video_update_viewpoint<br> libvlc_set_exit_handler<br> libvlc_audio_filter_list_get<br>diff --git a/lib/video.c b/lib/video.c<br>index 6f8e6d7f59a..c667a0d07ac 100644<br>--- a/lib/video.c<br>+++ b/lib/video.c<br>@@ -336,6 +336,14 @@ end:<br>     return i_ret;<br> }<br> <br>+void libvlc_video_unset_spu(libvlc_media_player_t *p_mi)<br>+{<br>+    vlc_player_t *player = p_mi->player;<br>+    vlc_player_Lock(player);<br>+    vlc_player_UnselectTrackCategory(player, SPU_ES);<br>+    vlc_player_Unlock(player);<br>+}<br>+<br> int64_t libvlc_video_get_spu_delay( libvlc_media_player_t *p_mi )<br> {<br>     vlc_player_t *player = p_mi->player;<br>@@ -507,6 +515,14 @@ end:<br>     return i_ret;<br> }<br> <br>+void libvlc_video_unset_track(libvlc_media_player_t *p_mi)<br>+{<br>+    vlc_player_t *player = p_mi->player;<br>+    vlc_player_Lock(player);<br>+    vlc_player_UnselectTrackCategory(player, VIDEO_ES);<br>+    vlc_player_Unlock(player);<br>+}<br>+<br> /******************************************************************************<br>  * libvlc_video_set_deinterlace : enable/disable/auto deinterlace and filter<br>  *****************************************************************************/</pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>