[vlc-devel] [PATCH 07/15] libvlc: add libvlc_media_get_parsed_status
Thomas Guillem
thomas at gllm.fr
Thu Apr 14 17:44:56 CEST 2016
---
include/vlc/libvlc_media.h | 20 ++++++++++++++++++--
lib/libvlc.sym | 1 +
lib/media.c | 11 +++++++++++
3 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/include/vlc/libvlc_media.h b/include/vlc/libvlc_media.h
index 7f74228..2f10ec3 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
*
@@ -714,6 +717,19 @@ 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
* an native object that references a libvlc_media_t pointer
diff --git a/lib/libvlc.sym b/lib/libvlc.sym
index 03e9a5e..c134fef 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 c4e799f..32379a1 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
--
2.8.0.rc3
More information about the vlc-devel
mailing list