* \param p_exception the exception to query
* \return 0 if no exception raised, 1 else
*/
-VLC_PUBLIC_API int libvlc_exception_raised( libvlc_exception_t *p_exception );
+VLC_PUBLIC_API int
+libvlc_exception_raised( const libvlc_exception_t *p_exception );
/**
* Raise an exception
* \param p_exception the exception to raise
* \param psz_message the exception message
*/
-VLC_PUBLIC_API void libvlc_exception_raise( libvlc_exception_t *p_exception, const char *psz_format, ... );
+VLC_PUBLIC_API void
+libvlc_exception_raise( libvlc_exception_t *p_exception,
+ const char *psz_format, ... );
/**
* Clear an exception object so it can be reused.
* \return the exception message or NULL if not applicable (exception not raised
* for example)
*/
-VLC_PUBLIC_API char* libvlc_exception_get_message( libvlc_exception_t *p_exception );
+VLC_PUBLIC_API const char *
+libvlc_exception_get_message( const libvlc_exception_t *p_exception );
/**@} */
*/
/**
- * Create an initialized libvlc instance
+ * Create an initialized libvlc instance.
* \param argc the number of arguments
* \param argv command-line-type arguments
* \param exception an initialized exception pointer
*/
-VLC_PUBLIC_API libvlc_instance_t * libvlc_new( int , char **, libvlc_exception_t *);
+VLC_PUBLIC_API libvlc_instance_t *
+libvlc_new( int , const char *const *, libvlc_exception_t *);
/**
* Returns a libvlc instance identifier for legacy APIs. Use of this
VLC_PUBLIC_API int libvlc_get_vlc_id( libvlc_instance_t *p_instance );
/**
- * Destroy a libvlc instance.
+ * Decrements the reference count of a libvlc instance, and destroys it
+ * if it reaches zero.
* \param p_instance the instance to destroy
*/
-VLC_PUBLIC_API void libvlc_destroy( libvlc_instance_t *, libvlc_exception_t * );
-
-/** @}*/
+VLC_PUBLIC_API void libvlc_release( libvlc_instance_t *, libvlc_exception_t * );
-/*****************************************************************************
- * Tree
- *****************************************************************************/
-/** defgroup libvlc_tree Tree
- * \ingroup libvlc
- * LibVLC Tree. A tree holds an item plus several subtrees.
- * @{
+/**
+ * Increments the reference count of a libvlc instance.
+ * The reference count is initially one when libvlc_new() returns.
*/
-VLC_PUBLIC_API libvlc_tree_t *
- libvlc_tree_new_with_media_list_as_item( libvlc_media_list_t * p_mlist,
- libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API libvlc_tree_t *
- libvlc_tree_new_with_string_as_item( const char * psz,
- libvlc_exception_t * p_e );
-VLC_PUBLIC_API void
- libvlc_tree_release( libvlc_tree_t * p_tree );
-
-VLC_PUBLIC_API void
- libvlc_tree_retain( libvlc_tree_t * p_tree );
-
-VLC_PUBLIC_API char *
- libvlc_tree_item_as_string( libvlc_tree_t * p_tree,
- libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API libvlc_media_list_t *
- libvlc_tree_item_as_media_list( libvlc_tree_t * p_tree,
- libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API int
- libvlc_tree_subtree_count( libvlc_tree_t * p_tree, libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API libvlc_tree_t *
- libvlc_tree_subtree_at_index( libvlc_tree_t * p_tree,
- int index,
- libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API void
- libvlc_tree_insert_subtree_at_index( libvlc_tree_t * p_tree,
- libvlc_tree_t * p_subtree,
- int index,
- libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API void
- libvlc_tree_remove_subtree_at_index( libvlc_tree_t * p_tree,
- int index,
- libvlc_exception_t * p_e );
-
-/**@} */
-
+VLC_PUBLIC_API void libvlc_retain( libvlc_instance_t * );
+/** @}*/
/*****************************************************************************
* Media descriptor
* LibVLC Media Descriptor
* @{
*/
-
+
/**
* Create a media descriptor with the given mrl.
* \param p_instance the instance
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 );
+
+VLC_PUBLIC_API vlc_int64_t
+ libvlc_media_descriptor_get_duration( libvlc_media_descriptor_t * p_md,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API vlc_bool_t
+ libvlc_media_descriptor_is_preparsed( libvlc_media_descriptor_t * p_md,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API void
+ libvlc_media_descriptor_set_user_data( libvlc_media_descriptor_t * p_md,
+ void * p_new_user_data,
+ libvlc_exception_t * p_e);
+VLC_PUBLIC_API void *
+ libvlc_media_descriptor_get_user_data( libvlc_media_descriptor_t * p_md,
+ libvlc_exception_t * p_e);
+
/** @}*/
/*****************************************************************************
VLC_PUBLIC_API int libvlc_playlist_delete_item( libvlc_instance_t *, int,
libvlc_exception_t * );
-/* Get the input that is currently being played by the playlist
+/** Get the input that is currently being played by the playlist
* \param p_instance the instance to use
* \param p_exception an initialized excecption
* \return an input object
/** 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 vlc_bool_t libvlc_media_instance_will_play ( libvlc_media_instance_t *, libvlc_exception_t *);
VLC_PUBLIC_API float libvlc_media_instance_get_rate ( libvlc_media_instance_t *, libvlc_exception_t *);
VLC_PUBLIC_API void libvlc_media_instance_set_rate ( libvlc_media_instance_t *, float, libvlc_exception_t *);
-VLC_PUBLIC_API int libvlc_media_instance_get_state ( libvlc_media_instance_t *, libvlc_exception_t *);
+VLC_PUBLIC_API libvlc_state_t libvlc_media_instance_get_state ( libvlc_media_instance_t *, libvlc_exception_t *);
/**
* Does this input have a video output ?
* 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 void
char * psz_tag_key,
libvlc_exception_t * );
-VLC_PUBLIC_API vlc_bool_t
+VLC_PUBLIC_API vlc_bool_t
libvlc_tag_query_match( libvlc_tag_query_t *, libvlc_media_descriptor_t *,
libvlc_exception_t * );
libvlc_exception_t * p_e );
VLC_PUBLIC_API void
- libvlc_media_list_set_name( libvlc_media_list_t *,
- const char * psz_name,
- libvlc_exception_t *);
+ libvlc_media_list_set_media_descriptor( libvlc_media_list_t *,
+ libvlc_media_descriptor_t *,
+ libvlc_exception_t *);
-VLC_PUBLIC_API char *
- libvlc_media_list_name( libvlc_media_list_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_exception_t * );
/** @} */
+
+/*****************************************************************************
+ * Media List View
+ *****************************************************************************/
+/** defgroup libvlc_media_list_view MediaListView
+ * \ingroup libvlc
+ * LibVLC Media List View
+ * @{ */
+
+VLC_PUBLIC_API void
+ libvlc_media_list_view_retain( libvlc_media_list_view_t * p_mlv );
+
+VLC_PUBLIC_API void
+ libvlc_media_list_view_release( libvlc_media_list_view_t * p_mlv );
+
+VLC_PUBLIC_API int
+ libvlc_media_list_view_count( libvlc_media_list_view_t * p_mlv,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API libvlc_media_descriptor_t *
+ libvlc_media_list_view_item_at_index( libvlc_media_list_view_t * p_mlv,
+ int index,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API int
+ libvlc_media_list_view_index_of_item( libvlc_media_list_view_t * p_mlv,
+ libvlc_media_descriptor_t * p_md,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API void
+ libvlc_media_list_view_insert_at_index( libvlc_media_list_view_t * p_mlv,
+ libvlc_media_descriptor_t * p_md,
+ int index,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API void
+ libvlc_media_list_view_remove_at_index( libvlc_media_list_view_t * p_mlv,
+ int index,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API void
+ libvlc_media_list_view_add_item( libvlc_media_list_view_t * p_mlv,
+ libvlc_media_descriptor_t * p_md,
+ libvlc_exception_t * p_e );
+
+/** @} */
+
/*****************************************************************************
- * Dynamic Media List
+ * Dynamic Media List (Deprecated)
*****************************************************************************/
/** defgroup libvlc_media_list MediaList
* \ingroup libvlc
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_pause( libvlc_media_list_player_t * p_mlp,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API int
+ libvlc_media_list_player_is_playing( libvlc_media_list_player_t * p_mlp,
+ libvlc_exception_t * p_e );
+
+VLC_PUBLIC_API libvlc_state_t
+ libvlc_media_list_player_get_state( 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 );
* @{
*/
-/**
- * Does this input have a video output ?
- * \param p_input the input
- * \param p_exception an initialized exception
- */
-VLC_PUBLIC_API vlc_bool_t libvlc_input_has_vout( libvlc_media_instance_t *, libvlc_exception_t *);
-VLC_PUBLIC_API float libvlc_input_get_fps( libvlc_media_instance_t *, libvlc_exception_t *);
-
/**
* Toggle fullscreen status on video output
* \param p_input the 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)\
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