vlc | branch: master | Thomas Guillem <[email protected]> | Mon Jun 3 09:57:49 2019 +0200| [a2ea2da82d2d78b4d96de9d8649ec294fb4bd5a6] | committer: Thomas Guillem
player: implement vlc_player_SelectCategoryLanguage It replaces vlc_player_SelectDefaultTrack that was unused and not implemented. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a2ea2da82d2d78b4d96de9d8649ec294fb4bd5a6 --- include/vlc_player.h | 34 +++++++++++++--------------------- src/input/player.c | 18 +++++++++++++++--- src/libvlccore.sym | 2 +- 3 files changed, 29 insertions(+), 25 deletions(-) diff --git a/include/vlc_player.h b/include/vlc_player.h index 90b8683dbe..dbb905fe71 100644 --- a/include/vlc_player.h +++ b/include/vlc_player.h @@ -1838,44 +1838,36 @@ vlc_player_RestartTrackCategory(vlc_player_t *player, } /** - * Select the default track for an ES category. + * Select the language for an ES category * - * Tracks for this category will be automatically chosen according to the - * language for all future played media. + * @warning The language will only be set for all future played media. * * @param player locked player instance - * @param cat VIDEO_ES, AUDIO_ES or SPU_ES - * @param lang language (TODO: define it) or NULL to reset the default state + * @param cat AUDIO_ES or SPU_ES + * @param lang comma separated, two or three letters country code, 'any' as a + * fallback or NULL to reset the default state */ VLC_API void -vlc_player_SelectDefaultTrack(vlc_player_t *player, - enum es_format_category_e cat, const char *lang); - -/** - * Helper to select the default video track - */ -static inline void -vlc_player_SelectDefaultVideoTrack(vlc_player_t *player, const char *lang) -{ - vlc_player_SelectDefaultTrack(player, VIDEO_ES, lang); -} +vlc_player_SelectCategoryLanguage(vlc_player_t *player, + enum es_format_category_e cat, + const char *lang); /** - * Helper to select the default audio track + * Helper to select the audio language */ static inline void -vlc_player_SelectDefaultAudioTrack(vlc_player_t *player, const char *lang) +vlc_player_SelectAudioLanguage(vlc_player_t *player, const char *lang) { - vlc_player_SelectDefaultTrack(player, AUDIO_ES, lang); + vlc_player_SelectCategoryLanguage(player, AUDIO_ES, lang); } /** - * Helper to select the default spu track + * Helper to select the spu language */ static inline void vlc_player_SelectDefaultSubtitleTrack(vlc_player_t *player, const char *lang) { - vlc_player_SelectDefaultTrack(player, SPU_ES, lang); + vlc_player_SelectCategoryLanguage(player, SPU_ES, lang); } /** diff --git a/src/input/player.c b/src/input/player.c index d7d70f2ed6..da67e65ecc 100644 --- a/src/input/player.c +++ b/src/input/player.c @@ -1460,11 +1460,21 @@ vlc_player_RestartTrack(vlc_player_t *player, vlc_es_id_t *id) } void -vlc_player_SelectDefaultTrack(vlc_player_t *player, - enum es_format_category_e cat, const char *lang) +vlc_player_SelectCategoryLanguage(vlc_player_t *player, + enum es_format_category_e cat, + const char *lang) { vlc_player_assert_locked(player); - /* TODO */ (void) cat; (void) lang; + switch (cat) + { + case AUDIO_ES: + var_SetString(player, "audio-language", lang); + break; + case SPU_ES: + var_SetString(player, "sub-language", lang); + default: + vlc_assert_unreachable(); + } } static void @@ -3609,6 +3619,8 @@ vlc_player_New(vlc_object_t *parent, enum vlc_player_lock_type lock_type, VAR_CREATE("sout-audio", VLC_VAR_BOOL | VLC_VAR_DOINHERIT); VAR_CREATE("spu", VLC_VAR_BOOL | VLC_VAR_DOINHERIT); VAR_CREATE("sout-spu", VLC_VAR_BOOL | VLC_VAR_DOINHERIT); + VAR_CREATE("audio-language", VLC_VAR_STRING | VLC_VAR_DOINHERIT); + VAR_CREATE("sub-language", VLC_VAR_STRING | VLC_VAR_DOINHERIT); /* TODO: Override these variables since the player handle media ended * action itself. */ diff --git a/src/libvlccore.sym b/src/libvlccore.sym index fa090406bf..baae814a1f 100644 --- a/src/libvlccore.sym +++ b/src/libvlccore.sym @@ -839,9 +839,9 @@ vlc_player_RestartTrack vlc_player_Resume vlc_player_SeekByPos vlc_player_SeekByTime +vlc_player_SelectCategoryLanguage vlc_player_SelectChapter vlc_player_SelectChapterIdx -vlc_player_SelectDefaultTrack vlc_player_SelectNextChapter vlc_player_SelectNextTitle vlc_player_SelectNextTrack _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
