diff --git a/include/vlc/libvlc_media.h b/include/vlc/libvlc_media.h index 7f742282ea..2f10ec3e75 100644 --- a/include/vlc/libvlc_media.h +++ b/include/vlc/libvlc_media.h @@ -276,9 +276,11 @@ typedef enum libvlc_media_parse_flag_t } libvlc_media_parse_flag_t; /** - * Parse status used sent by libvlc_media_parse_with_options() + * Parse status used sent by libvlc_media_parse_with_options() or returned by + * libvlc_media_get_parsed_status() * * \see libvlc_media_parse_with_options + * \see libvlc_media_get_parsed_status */ typedef enum libvlc_media_parsed_status_t { @@ -689,6 +691,7 @@ libvlc_media_parse_async( libvlc_media_t *p_md ); * \see libvlc_MediaParsedStatus * \see libvlc_media_get_meta * \see libvlc_media_tracks_get + * \see libvlc_media_get_parsed_status * \see libvlc_media_parse_flag_t * * \param p_md media descriptor object @@ -701,7 +704,7 @@ libvlc_media_parse_with_options( libvlc_media_t *p_md, libvlc_media_parse_flag_t parse_flag ); /** - * Get Parsed status for media descriptor object. + * Return true is the media descriptor object is parsed * * \see libvlc_MediaParsedChanged * @@ -713,6 +716,19 @@ libvlc_media_parse_with_options( libvlc_media_t *p_md, LIBVLC_API int libvlc_media_is_parsed( libvlc_media_t *p_md ); +/** + * Get Parsed status for media descriptor object. + * + * \see libvlc_MediaParsedStatus + * \see libvlc_media_parsed_status_t + * + * \param p_md media descriptor object + * \return a value of the libvlc_media_parsed_status_t enum + * \version LibVLC 3.0.0 or later + */ +LIBVLC_API libvlc_media_parsed_status_t + libvlc_media_get_parsed_status( libvlc_media_t *p_md ); + /** * Sets media descriptor's user_data. user_data is specialized data * accessed by the host application, VLC.framework uses it as a pointer to diff --git a/lib/libvlc.sym b/lib/libvlc.sym index 03e9a5ec75..c134fef94e 100644 --- a/lib/libvlc.sym +++ b/lib/libvlc.sym @@ -100,6 +100,7 @@ libvlc_media_get_type libvlc_media_get_user_data libvlc_media_get_tracks_info libvlc_media_is_parsed +libvlc_media_get_parsed_status libvlc_media_library_load libvlc_media_library_media_list libvlc_media_library_new diff --git a/lib/media.c b/lib/media.c index c4e799fdde..32379a1e70 100644 --- a/lib/media.c +++ b/lib/media.c @@ -839,6 +839,17 @@ libvlc_media_is_parsed(libvlc_media_t *media) return parsed; } +libvlc_media_parsed_status_t +libvlc_media_get_parsed_status(libvlc_media_t *media) +{ + libvlc_media_parsed_status_t status; + + vlc_mutex_lock(&media->parsed_lock); + status = media->parsed_status; + vlc_mutex_unlock(&media->parsed_lock); + return status; +} + /************************************************************************** * Sets media descriptor's user_data. user_data is specialized data * accessed by the host application, VLC.framework uses it as a pointer to