/** @}*/
-
/*****************************************************************************
* Media descriptor
*****************************************************************************/
libvlc_meta_t e_meta,
libvlc_exception_t *p_e );
+/* Tags */
+VLC_PUBLIC_API void libvlc_media_descriptor_add_tag( libvlc_media_descriptor_t *p_md,
+ const char * key,
+ const libvlc_tag_t tag,
+ libvlc_exception_t *p_e );
+
+VLC_PUBLIC_API void libvlc_media_descriptor_remove_tag( libvlc_media_descriptor_t *p_md,
+ const char * key,
+ const libvlc_tag_t tag,
+ libvlc_exception_t *p_e );
+
+VLC_PUBLIC_API int
+ libvlc_media_descriptor_tags_count_for_key( libvlc_media_descriptor_t *p_md,
+ const char * key,
+ libvlc_exception_t *p_e );
+
+VLC_PUBLIC_API libvlc_tag_t
+ libvlc_media_descriptor_tag_at_index_for_key( libvlc_media_descriptor_t *p_md,
+ int i,
+ const char * key,
+ libvlc_exception_t *p_e );
+
+VLC_PUBLIC_API libvlc_media_list_t *
+ libvlc_media_descriptor_subitems( libvlc_media_descriptor_t *p_md,
+ libvlc_exception_t *p_e );
+
+VLC_PUBLIC_API libvlc_event_manager_t *
+ libvlc_media_descriptor_event_manager( libvlc_media_descriptor_t * p_md,
+ libvlc_exception_t * p_e );
+
/** @}*/
/*****************************************************************************
/** Set the media descriptor that will be used by the media_instance. If any,
* previous md will be released.
- * \param p_mi the Media Instance
+ * \param p_mi the Media Instance
* \param p_md the Media Descriptor. Afterwards the p_md can safely be
* destroyed.
*/
/** Get the media descriptor used by the media_instance (if any). A copy of
* the md is returned. NULL is returned if no media instance is associated.
- * \param p_mi the Media Instance
+ * \param p_mi the Media Instance
*/
VLC_PUBLIC_API libvlc_media_descriptor_t * libvlc_media_instance_get_media_descriptor( libvlc_media_instance_t *, libvlc_exception_t * );
/** Get the Event Manager from which the media instance send event.
- * \param p_mi the Media Instance
+ * \param p_mi the Media Instance
*/
VLC_PUBLIC_API libvlc_event_manager_t * libvlc_media_instance_event_manager ( libvlc_media_instance_t *, libvlc_exception_t * );
VLC_PUBLIC_API void libvlc_media_instance_pause ( libvlc_media_instance_t *, libvlc_exception_t * );
VLC_PUBLIC_API void libvlc_media_instance_stop ( libvlc_media_instance_t *, libvlc_exception_t * );
+VLC_PUBLIC_API void libvlc_media_instance_set_drawable ( libvlc_media_instance_t *, libvlc_drawable_t, libvlc_exception_t * );
+
/// \bug This might go away ... to be replaced by a broader system
VLC_PUBLIC_API vlc_int64_t libvlc_media_instance_get_length ( libvlc_media_instance_t *, libvlc_exception_t *);
VLC_PUBLIC_API vlc_int64_t libvlc_media_instance_get_time ( libvlc_media_instance_t *, libvlc_exception_t *);
* LibVLC Tag query
* @{
*/
-VLC_PUBLIC_API libvlc_tag_query_t *
+VLC_PUBLIC_API libvlc_tag_query_t *
libvlc_tag_query_new( libvlc_instance_t *, libvlc_exception_t * );
-VLC_PUBLIC_API void
+VLC_PUBLIC_API void
libvlc_tag_query_release( libvlc_tag_query_t * );
-VLC_PUBLIC_API void
+VLC_PUBLIC_API void
libvlc_tag_query_retain( libvlc_tag_query_t * );
-VLC_PUBLIC_API vlc_bool_t
+VLC_PUBLIC_API void
+ libvlc_tag_query_set_match_tag_and_key( libvlc_tag_query_t * p_q,
+ libvlc_tag_t tag,
+ char * psz_tag_key,
+ libvlc_exception_t * );
+
+VLC_PUBLIC_API vlc_bool_t
libvlc_tag_query_match( libvlc_tag_query_t *, libvlc_media_descriptor_t *,
libvlc_exception_t * );
VLC_PUBLIC_API void
libvlc_media_list_retain( libvlc_media_list_t * );
+VLC_PUBLIC_API void
+ libvlc_media_list_add_file_content( libvlc_media_list_t * p_mlist,
+ const char * psz_uri,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API void
+ libvlc_media_list_set_media_descriptor( libvlc_media_list_t *,
+ libvlc_media_descriptor_t *,
+ libvlc_exception_t *);
+
+VLC_PUBLIC_API libvlc_media_descriptor_t *
+ libvlc_media_list_media_descriptor( libvlc_media_list_t *,
+ libvlc_exception_t *);
+
VLC_PUBLIC_API void
libvlc_media_list_add_media_descriptor( libvlc_media_list_t *,
libvlc_media_descriptor_t *,
VLC_PUBLIC_API void
libvlc_media_list_unlock( libvlc_media_list_t * );
+VLC_PUBLIC_API libvlc_media_list_t *
+ libvlc_media_list_flat_media_list( libvlc_media_list_t *,
+ libvlc_exception_t * );
+
VLC_PUBLIC_API libvlc_event_manager_t *
libvlc_media_list_event_manager( libvlc_media_list_t *,
libvlc_exception_t * );
+/** @} */
+
+/*****************************************************************************
+ * Dynamic Media List
+ *****************************************************************************/
+/** defgroup libvlc_media_list MediaList
+ * \ingroup libvlc
+ * LibVLC Media List
+ * @{ */
+
+VLC_PUBLIC_API libvlc_dynamic_media_list_t *
+ libvlc_dynamic_media_list_new( libvlc_media_list_t * p_mlist,
+ libvlc_tag_query_t * p_query,
+ libvlc_tag_t tag,
+ libvlc_exception_t * p_e );
+VLC_PUBLIC_API void
+ libvlc_dynamic_media_list_release( libvlc_dynamic_media_list_t * p_dmlist );
+
+VLC_PUBLIC_API void
+ libvlc_dynamic_media_list_retain( libvlc_dynamic_media_list_t * p_dmlist );
+
+libvlc_media_list_t *
+ libvlc_dynamic_media_list_media_list( libvlc_dynamic_media_list_t * p_dmlist,
+ libvlc_exception_t * p_e );
+
+/** @} */
+
+/*****************************************************************************
+ * Media Library
+ *****************************************************************************/
+/** defgroup libvlc_media_library Media Library
+ * \ingroup libvlc
+ * LibVLC Media Library
+ * @{
+ */
+VLC_PUBLIC_API libvlc_media_library_t *
+ libvlc_media_library_new( libvlc_instance_t * p_inst,
+ libvlc_exception_t * p_e );
+VLC_PUBLIC_API void
+ libvlc_media_library_release( libvlc_media_library_t * p_mlib );
+VLC_PUBLIC_API void
+ libvlc_media_library_retain( libvlc_media_library_t * p_mlib );
+
+
+VLC_PUBLIC_API void
+ libvlc_media_library_load( libvlc_media_library_t * p_mlib,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API void
+ libvlc_media_library_save( libvlc_media_library_t * p_mlib,
+ libvlc_exception_t * p_e );
VLC_PUBLIC_API libvlc_media_list_t *
- libvlc_media_list_dynamic_sublist( libvlc_media_list_t *,
- libvlc_tag_query_t *,
- libvlc_exception_t * );
+ libvlc_media_library_media_list( libvlc_media_library_t * p_mlib,
+ libvlc_exception_t * p_e );
+
/** @} */
libvlc_media_list_player_play( libvlc_media_list_player_t * p_mlp,
libvlc_exception_t * p_e );
+VLC_PUBLIC_API void
+ libvlc_media_list_player_play_item_at_index(
+ libvlc_media_list_player_t * p_mlp,
+ int i_index,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API void
+ libvlc_media_list_player_play_item(
+ libvlc_media_list_player_t * p_mlp,
+ libvlc_media_descriptor_t * p_md,
+ libvlc_exception_t * p_e );
+
VLC_PUBLIC_API void
libvlc_media_list_player_stop( libvlc_media_list_player_t * p_mlp,
libvlc_exception_t * p_e );
/** @} */
-/**
- * defgroup libvlc_vlm VLM
- * \ingroup libvlc
- * LibVLC VLM handling
- * @{
- */
-
/** defgroup libvlc_audio Audio
* \ingroup libvlc
* LibVLC Audio handling
/** @} */
+/*****************************************************************************
+ * Services/Media Discovery
+ *****************************************************************************/
+/** defgroup libvlc_media_discoverer Media Discoverer
+ * \ingroup libvlc
+ * LibVLC Media Discoverer
+ * @{
+ */
+
+VLC_PUBLIC_API libvlc_media_discoverer_t *
+libvlc_media_discoverer_new_from_name( libvlc_instance_t * p_inst,
+ const char * psz_name,
+ libvlc_exception_t * p_e );
+VLC_PUBLIC_API void libvlc_media_discoverer_release( libvlc_media_discoverer_t * p_mdis );
+VLC_PUBLIC_API char * libvlc_media_discoverer_localized_name( libvlc_media_discoverer_t * p_mdis );
+
+VLC_PUBLIC_API libvlc_media_list_t * libvlc_media_discoverer_media_list( libvlc_media_discoverer_t * p_mdis );
+
+/**@} */
+
+/*****************************************************************************
+ * VLM
+ *****************************************************************************/
+/** defgroup libvlc_vlm VLM
+ * \ingroup libvlc
+ * LibVLC VLM
+ * @{
+ */
/**
* Add a broadcast, with one input
* \param p_instance the instance
* \param psz_name the name of the broadcast
* \param p_exception an initialized exception
- */
+ */
VLC_PUBLIC_API void libvlc_vlm_stop_media ( libvlc_instance_t *, char *, libvlc_exception_t * );
/**
* \param p_instance the instance
* \param psz_name the name of the broadcast
* \param p_exception an initialized exception
- */
+ */
VLC_PUBLIC_API void libvlc_vlm_pause_media( libvlc_instance_t *, char *, libvlc_exception_t * );
-
+
/**
* Seeks in the named broadcast.
* \param p_instance the instance
* \param psz_name the name of the broadcast
* \param f_percentage the percentage to seek to
* \param p_exception an initialized exception
- */
+ */
VLC_PUBLIC_API void libvlc_vlm_seek_media( libvlc_instance_t *, char *,
float, libvlc_exception_t * );
-
+
/**
* Return information of the named broadcast.
* \param p_instance the instance
* \param psz_name the name of the broadcast
* \param p_exception an initialized exception
- */
+ */
VLC_PUBLIC_API char* libvlc_vlm_show_media( libvlc_instance_t *, char *, libvlc_exception_t * );
#define LIBVLC_VLM_GET_MEDIA_ATTRIBUTE( attr, returnType, getType, default)\
#undef LIBVLC_VLM_GET_MEDIA_ATTRIBUTE
-/** @} */
/** @} */
/*****************************************************************************
libvlc_exception_t *p_e );
/**
- * Open an instance to VLC message log
+ * Open an instance to VLC message log
* \param p_instance libvlc instance
* \param exception an initialized exception pointer
*/
VLC_PUBLIC_API libvlc_log_t *libvlc_log_open( const libvlc_instance_t *, libvlc_exception_t *);
/**
- * Close an instance of VLC message log
+ * Close an instance of VLC message log
* \param p_log libvlc log instance
* \param exception an initialized exception pointer
*/
/**
* Releases a previoulsy allocated iterator
- * \param p_log libvlc log iterator
+ * \param p_log libvlc log iterator
* \param exception an initialized exception pointer
*/
VLC_PUBLIC_API void libvlc_log_iterator_free( libvlc_log_iterator_t *p_iter, libvlc_exception_t *p_e );
/**
- * Returns whether log iterator has more messages
+ * Returns whether log iterator has more messages
* \param p_log libvlc log iterator
* \param exception an initialized exception pointer
*/
void *p_user_data,
libvlc_exception_t *p_e );
-
/**
- * Get an event type name
+ * Get an event type name
* \param i_event_type the desired event
*/
#define libvlc_event_type_name(a) #a